Warning: session_start(): open(/var/lib/php/sessions/sess_r4tlou5rmili7rbdsh33srban5, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
set flag DynModule.
srecord ScriptItem(S desc, S code) {
Double seconds;
S status;
*(S *desc, S *code, double *seconds) {}
}
sclass Scripter extends DynObjectTable {
int iRunning;
S status;
start {
javaEval_useDiskCache();
setData(ll(
ScriptItem("Say 1", [[infoBox("1")]], 4.0),
ScriptItem("Say 2", [[infoBox("2")]], 4.0)
));
}
visualize {
ret northAndCenter(
withMargin(centerAndEastWithMargin(rightAlignLabel(dm_fieldLabel('status)), jbutton("Run", r runIt))),
jSection("SCRIPT", super.visualize()));
}
void runIt {
thread "Run Script" {
setFields(iRunning := 0, status := "running");
afterwards { setField(status := "done"); }
while (iRunning < l(data)) {
ScriptItem item = get(data, iRunning);
long targetTime = sysNow()+toMS(toDouble(item.seconds));
item.status = "running";
updateTable();
setField(iRunning := iRunning+1);
evalJava(item.code);
sleepUntilSys(targetTime);
item.status = "done";
updateTable();
}
}
}
}