Hi guys,
I have problems with a scheduled task at our customer.
Even when the scheduled task is set to have a timelock of 120 min., the task fails randomly between 5 - 15 min. with the following error message:
EjScript::RunTimeException: An exception occurred in script: "" at: line 22, char 8 Original exception: NetServerException: Unknown NetServer exception. Please try again
My guess is that the script overloads the server and somehow the netserver restarts and the scheduled task fails.
It is an OnSite installation: SuperOffice 8.1 Build Release81_C-2017.11.23-01
Does anyone know what the issue might be?
Here is the script:
#setLanguageLevel 3;
/*SearchEngine st;
st.addField("schedule.last_execution");
st.addCriteria("schedule.id", "Equals", "3");
DateTime lastRun;
if(st.execute() > 0)
lastRun = st.getField(0).toDateTime();
if(lastRun.toString() == "")
lastRun = getCurrentDateTime();*/
SearchEngine se;
se.bypassNetServer(true);
se.addField("y_potential.x_total_potential");
se.addField("y_potential.x_rest_potential");
se.addField("y_potential.x_ok_budget");
se.addField("y_potential.id");
se.addCriteria("y_potential.id", "Gt", "0");
//se.addCriteria("y_potential.last_changed", "Gte", lastRun.toString(), "And", 0);
for(se.execute(); !se.eof(); se.next())
{
Integer totalPotential = 0;
Integer restPotential = 0;
Integer okBudget = 0;
log("TP: " + se.getField(0) + " RP: " + se.getField(1) + " OKB: " + se.getField(2));
if(se.getField(0) != "")
totalPotential = se.getField(0).toInteger();
if(se.getField(1) != "")
restPotential = se.getField(1).toInteger();
if(se.getField(2) != "")
okBudget = se.getField(2).toInteger();
log("TP: " + totalPotential.toString() + " RP: " + restPotential.toString() + " OKB: " + okBudget.toString());
Integer sub = totalPotential - restPotential;
if(sub != okBudget)
{
restPotential = totalPotential - okBudget;
if(restPotential < 0)
{
totalPotential = okBudget;
restPotential = 0;
}
SearchEngine se2;
se2.bypassNetServer(true);
se2.addData("y_potential.x_total_potential", totalPotential.toString());
se2.addData("y_potential.x_rest_potential", restPotential.toString());
se2.addCriteria("y_potential.id", "Equals", se.getField(3));
se2.update();
}
//printLine("TP: " + totalPotential.toString() + " RP: " + restPotential.toString());
}
Please help thanks :)