|
@@ -28,7 +28,6 @@ type Mjs struct {
|
|
|
|
|
|
func (s *Mjs) program(name string) (prog *jsProgram, err error) {
|
|
|
res, check := s.cache.GetCheck(name, func(key, val interface{}, exists bool) (rKey, rVal interface{}, needUpdate bool) {
|
|
|
- log.Println("OK")
|
|
|
if exists {
|
|
|
// check update need
|
|
|
prog := val.(*jsProgram)
|
|
@@ -202,7 +201,6 @@ func (s *Mjs) Exec(name string, data map[string]interface{}) (modified int64, er
|
|
|
}
|
|
|
vm.Set(k, v)
|
|
|
}
|
|
|
- log.Println("SUBPROGRAM_START")
|
|
|
if _, sErr := vm.RunProgram(prog.prog); sErr == nil {
|
|
|
for k, _ := range params {
|
|
|
if c, check := current[k]; check {
|
|
@@ -216,29 +214,19 @@ func (s *Mjs) Exec(name string, data map[string]interface{}) (modified int64, er
|
|
|
err = sErr
|
|
|
vm.Interrupt(nil)
|
|
|
}
|
|
|
- log.Println("SUBPROGRAM FINISHED", err)
|
|
|
} else {
|
|
|
err = fmt.Errorf("%v in module %v", err, currentMod)
|
|
|
vm.Interrupt(err)
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
vm.Set("exit", func(vals ...interface{}) {
|
|
|
- log.Println("I START")
|
|
|
vm.Interrupt(err)
|
|
|
- log.Println("I FINISH")
|
|
|
})
|
|
|
-
|
|
|
vm.Set("sleep", func(msec int) {
|
|
|
- log.Println("sleep")
|
|
|
time.Sleep(time.Millisecond * time.Duration(msec))
|
|
|
})
|
|
|
-
|
|
|
if _, exErr := vm.RunProgram(prog.prog); exErr != nil && exErr.Error() != "<nil>" && err == nil {
|
|
|
err = exErr
|
|
|
- log.Println("EXERR", exErr)
|
|
|
}
|
|
|
- log.Println("PROGRAM FINISHED", err)
|
|
|
-
|
|
|
return
|
|
|
}
|