Ok, done (the "save output for TIMEOUTted tasks").
Small issue, but quite manageable: when a task "timeouts" the output now is
saved, and you have the traceback to see "where" it stopped.
e.g. queue function1 with a timeout of 5 seconds
def function1():
time.sleep(3)
print "first print"
time.sleep(5)
print "second print"
The scheduler_run records will report:
1. status = TIMEOUT
2. output = first print
3. traceback =
/web2py/gluon/scheduler.py", line 203, in executor
result = dumps(_function(*args,**vars))
File "applications/w2p_scheduler_tests/models/scheduler.py", line 21, in
function1
time.sleep(15)
File "/home/niphlod/Scrivania/web2py_source/web2py/gluon/scheduler.py",
line 446, in <lambda>
signal.signal(signal.SIGTERM, lambda signum, stack_frame: sys.exit(1))
SystemExit: 1
Is that ok ? The "small issue" here is that the traceback is "full",
starting from where the process is stopped after 5 seconds (the executor
function), to the "where" it really stopped (line 21, function1, in
models/scheduler.py) that is the useful information.
Should the scheduler report only the output and not the traceback for
TIMEOUTted tasks?
On Wednesday, August 8, 2012 3:25:13 PM UTC+2, Daniel Haag wrote:
>
> Hi Niphlod,
>
> thanks for the great work with the scheduler, I'm using it in a project
> where it handles lots of big data imports into a database and the migration
> to your version was without any problems.
>
> On thing catched my eye in the old version and it still seems to be a
> "problem/missing feature" in the new one. When a long running process gets
> executed and produces output (print etc.) this output is written to the
> database only after the task was run (and finished). It would be really
> great if the output gets written into the task table while the task runs as
> this would be a possible feedback mechanism (and we would not need another
> table etc. just for that) just thinking of a progress meter for example.
>
> What I really miss though is the output of the task when it produces a
> timeout - nothing in the task table about the output...
>
> Daniel
>
>
--