I'm not sure what "narrow" is by the period is 30 seconds. I'm seeing 
weirder behavior now. The task completes successfully but it quits being 
executed at a random time. The only way for me to fix it is to restart the 
scheduler process. I enabled the debug logging and here are the last two 
runs of my process that executed (sorry for the length, I don't wanna leave 
anything out though):
2012-12-16 21:39:24,315 - web2py.scheduler - INFO - TICKER: I'm a ticker 
(snapserver.local#63)
2012-12-16 21:39:27,035 - web2py.scheduler - DEBUG - looping...
2012-12-16 21:39:27,042 - web2py.scheduler - INFO - TICKER: workers are 1
2012-12-16 21:39:27,042 - web2py.scheduler - INFO - TICKER: tasks are 1
2012-12-16 21:39:27,042 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 21:39:27,320 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 21:39:30,043 - web2py.scheduler - DEBUG - looping...
2012-12-16 21:39:30,047 - web2py.scheduler - DEBUG -    work to do 1
2012-12-16 21:39:30,047 - web2py.scheduler - DEBUG -     new scheduler_run 
record
2012-12-16 21:39:30,049 - web2py.scheduler - INFO - new task 1 "search for 
files" ss_server/appadmin.searchForFiles
2012-12-16 21:39:30,049 - web2py.scheduler - DEBUG -  new task allocated: 
ss_server/appadmin.searchForFiles
2012-12-16 21:39:30,050 - web2py.scheduler - DEBUG -    task starting
2012-12-16 21:39:30,054 - web2py.scheduler - DEBUG -     task started
2012-12-16 21:39:30,089 - ss_server - DEBUG - Logger created
2012-12-16 21:39:30,090 - ss_server - INFO - searching for files
2012-12-16 21:39:30,090 - ss_server - INFO - creating watermark
2012-12-16 21:39:30,095 - ss_server - INFO - done creating watermark
2012-12-16 21:39:30,096 - ss_server - INFO - globbing files
2012-12-16 21:39:30,096 - ss_server - INFO - files globbed
2012-12-16 21:39:30,097 - ss_server - INFO - getting basename for 
/usr/local/ss_server/input/S-1014.D-20121214121351.L-WIKILONG.I-000000000000000000055032,.P-2.jpg
2012-12-16 21:39:30,097 - ss_server - INFO - splitting filename
2012-12-16 21:39:30,097 - ss_server - INFO - checking filename
2012-12-16 21:39:30,098 - ss_server - INFO - processing file: 
S-1014.D-20121214121351.L-WIKILONG.I-000000000000000000055032,.P-2.jpg
2012-12-16 21:39:30,098 - ss_server - INFO - adding watermark
2012-12-16 21:39:30,153 - ss_server - INFO - IO Error
2012-12-16 21:39:30,153 - ss_server - INFO - end of loop
2012-12-16 21:39:30,154 - ss_server - INFO - getting basename for 
/usr/local/ss_server/input/S-1014.D-20121214135116.L-KONGS.I-000000000000000000055055,.P-1.jpg
2012-12-16 21:39:30,154 - ss_server - INFO - splitting filename
2012-12-16 21:39:30,155 - ss_server - INFO - checking filename
2012-12-16 21:39:30,155 - ss_server - INFO - processing file: 
S-1014.D-20121214135116.L-KONGS.I-000000000000000000055055,.P-1.jpg
2012-12-16 21:39:30,156 - ss_server - INFO - adding watermark
2012-12-16 21:39:30,196 - ss_server - INFO - IO Error
2012-12-16 21:39:30,197 - ss_server - INFO - end of loop
2012-12-16 21:39:30,197 - ss_server - INFO - getting basename for 
/usr/local/ss_server/input/S-1019.D-20121214122954.L-WIKILONG.I-xxxxxxxxxxxxxxxxxxxxTEST,.P-8.jpg
2012-12-16 21:39:30,197 - ss_server - INFO - splitting filename
2012-12-16 21:39:30,198 - ss_server - INFO - checking filename
2012-12-16 21:39:30,198 - ss_server - INFO - processing file: 
S-1019.D-20121214122954.L-WIKILONG.I-xxxxxxxxxxxxxxxxxxxxTEST,.P-8.jpg
2012-12-16 21:39:30,217 - ss_server - INFO - IO Error
2012-12-16 21:39:30,218 - ss_server - INFO - end of loop
2012-12-16 21:39:30,218 - ss_server - INFO - getting basename for 
/usr/local/ss_server/input/S-1021.D-20121214125548.L-WIKILONG.I-100000000000000000055006,.P-1.jpg
2012-12-16 21:39:30,218 - ss_server - INFO - splitting filename
2012-12-16 21:39:30,219 - ss_server - INFO - checking filename
2012-12-16 21:39:30,219 - ss_server - INFO - processing file: 
S-1021.D-20121214125548.L-WIKILONG.I-100000000000000000055006,.P-1.jpg
2012-12-16 21:39:30,221 - ss_server - INFO - adding watermark
2012-12-16 21:39:30,274 - ss_server - INFO - IO Error
2012-12-16 21:39:30,274 - ss_server - INFO - end of loop
2012-12-16 21:39:30,275 - ss_server - INFO - ending function
2012-12-16 21:39:30,277 - web2py.scheduler - DEBUG -     new task report: 
COMPLETED
2012-12-16 21:39:30,277 - web2py.scheduler - DEBUG -    result: "success"
2012-12-16 21:39:30,326 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 21:39:30,327 - web2py.scheduler - DEBUG -  partial output: 
"serach for files
/usr/local/ss_server/web2py_ss_server
processing file: 
S-1014.D-20121214121351.L-WIKILONG.I-000000000000000000055032,.P-2.jpg
IO Error
processing file: 
S-1014.D-20121214135116.L-KONGS.I-000000000000000000055055,.P-1.jpg
IO Error
processing file: 
S-1019.D-20121214122954.L-WIKILONG.I-xxxxxxxxxxxxxxxxxxxxTEST,.P-8.jpg
IO Error
processing file: 
S-1021.D-20121214125548.L-WIKILONG.I-100000000000000000055006,.P-1.jpg
IO Error
"
2012-12-16 21:39:30,327 - web2py.scheduler - DEBUG -   task completed or 
failed
2012-12-16 21:39:30,327 - web2py.scheduler - DEBUG -  recording task report 
in db (COMPLETED)
2012-12-16 21:39:30,330 - web2py.scheduler - INFO - task completed 
(COMPLETED)
2012-12-16 21:39:30,331 - web2py.scheduler - DEBUG - looping...
2012-12-16 21:39:30,331 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 21:39:30,332 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 21:39:33,331 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 21:39:33,333 - web2py.scheduler - DEBUG - looping...
2012-12-16 21:39:33,335 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 21:39:33,335 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 21:39:36,336 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 21:39:36,337 - web2py.scheduler - DEBUG - looping...
2012-12-16 21:39:36,338 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 21:39:36,339 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 21:39:39,341 - web2py.scheduler - DEBUG - looping...
2012-12-16 21:39:39,342 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 21:39:39,342 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 21:39:39,391 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 21:39:39,392 - web2py.scheduler - DEBUG -     freeing workers 
that have not sent heartbeat
2012-12-16 21:39:39,394 - web2py.scheduler - INFO - TICKER: I'm a ticker 
(snapserver.local#63)
2012-12-16 21:39:42,343 - web2py.scheduler - DEBUG - looping...
2012-12-16 21:39:42,347 - web2py.scheduler - INFO - TICKER: workers are 1
2012-12-16 21:39:42,348 - web2py.scheduler - INFO - TICKER: tasks are 0
2012-12-16 21:39:42,348 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 21:39:42,406 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 21:39:45,350 - web2py.scheduler - DEBUG - looping...
2012-12-16 21:39:45,351 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 21:39:45,352 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 21:39:45,438 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 21:39:48,353 - web2py.scheduler - DEBUG - looping...
2012-12-16 21:39:48,354 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 21:39:48,354 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 21:39:48,442 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 21:39:51,356 - web2py.scheduler - DEBUG - looping...
2012-12-16 21:39:51,357 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 21:39:51,357 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:11,268 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:11,269 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 23:12:11,269 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:14,271 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:14,273 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 23:12:14,273 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:16,225 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 23:12:17,275 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:17,277 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 23:12:17,277 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:19,385 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 23:12:19,386 - web2py.scheduler - DEBUG -     freeing workers 
that have not sent heartbeat
2012-12-16 23:12:19,388 - web2py.scheduler - INFO - TICKER: I'm a ticker 
(snapserver.local#63)
2012-12-16 23:12:20,278 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:20,288 - web2py.scheduler - INFO - TICKER: workers are 1
2012-12-16 23:12:20,289 - web2py.scheduler - INFO - TICKER: tasks are 1
2012-12-16 23:12:20,289 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:22,392 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 23:12:23,291 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:23,295 - web2py.scheduler - DEBUG -    work to do 1
2012-12-16 23:12:23,296 - web2py.scheduler - DEBUG -     new scheduler_run 
record
2012-12-16 23:12:23,298 - web2py.scheduler - INFO - new task 1 "search for 
files" ss_server/appadmin.searchForFiles
2012-12-16 23:12:23,298 - web2py.scheduler - DEBUG -  new task allocated: 
ss_server/appadmin.searchForFiles
2012-12-16 23:12:23,299 - web2py.scheduler - DEBUG -    task starting
2012-12-16 23:12:23,303 - web2py.scheduler - DEBUG -     task started
2012-12-16 23:12:23,335 - ss_server - DEBUG - Logger created
2012-12-16 23:12:23,335 - ss_server - INFO - searching for files
2012-12-16 23:12:23,336 - ss_server - INFO - creating watermark
2012-12-16 23:12:23,341 - ss_server - INFO - done creating watermark
2012-12-16 23:12:23,341 - ss_server - INFO - globbing files
2012-12-16 23:12:23,342 - ss_server - INFO - files globbed
2012-12-16 23:12:23,342 - ss_server - INFO - getting basename for 
/usr/local/ss_server/input/S-1014.D-20121214121351.L-WIKILONG.I-000000000000000000055032,.P-2.jpg
2012-12-16 23:12:23,343 - ss_server - INFO - splitting filename
2012-12-16 23:12:23,343 - ss_server - INFO - checking filename
2012-12-16 23:12:23,343 - ss_server - INFO - processing file: 
S-1014.D-20121214121351.L-WIKILONG.I-000000000000000000055032,.P-2.jpg
2012-12-16 23:12:23,344 - ss_server - INFO - adding watermark
2012-12-16 23:12:23,400 - ss_server - INFO - IO Error
2012-12-16 23:12:23,400 - ss_server - INFO - end of loop
2012-12-16 23:12:23,401 - ss_server - INFO - getting basename for 
/usr/local/ss_server/input/S-1014.D-20121214135116.L-KONGS.I-000000000000000000055055,.P-1.jpg
2012-12-16 23:12:23,401 - ss_server - INFO - splitting filename
2012-12-16 23:12:23,401 - ss_server - INFO - checking filename
2012-12-16 23:12:23,402 - ss_server - INFO - processing file: 
S-1014.D-20121214135116.L-KONGS.I-000000000000000000055055,.P-1.jpg
2012-12-16 23:12:23,402 - ss_server - INFO - adding watermark
2012-12-16 23:12:23,441 - ss_server - INFO - IO Error
2012-12-16 23:12:23,441 - ss_server - INFO - end of loop
2012-12-16 23:12:23,442 - ss_server - INFO - getting basename for 
/usr/local/ss_server/input/S-1019.D-20121214122954.L-WIKILONG.I-xxxxxxxxxxxxxxxxxxxxTEST,.P-8.jpg
2012-12-16 23:12:23,442 - ss_server - INFO - splitting filename
2012-12-16 23:12:23,442 - ss_server - INFO - checking filename
2012-12-16 23:12:23,442 - ss_server - INFO - processing file: 
S-1019.D-20121214122954.L-WIKILONG.I-xxxxxxxxxxxxxxxxxxxxTEST,.P-8.jpg
2012-12-16 23:12:23,462 - ss_server - INFO - IO Error
2012-12-16 23:12:23,462 - ss_server - INFO - end of loop
2012-12-16 23:12:23,463 - ss_server - INFO - getting basename for 
/usr/local/ss_server/input/S-1021.D-20121214125548.L-WIKILONG.I-100000000000000000055006,.P-1.jpg
2012-12-16 23:12:23,463 - ss_server - INFO - splitting filename
2012-12-16 23:12:23,463 - ss_server - INFO - checking filename
2012-12-16 23:12:23,463 - ss_server - INFO - processing file: 
S-1021.D-20121214125548.L-WIKILONG.I-100000000000000000055006,.P-1.jpg
2012-12-16 23:12:23,465 - ss_server - INFO - adding watermark
2012-12-16 23:12:23,527 - ss_server - INFO - IO Error
2012-12-16 23:12:23,528 - ss_server - INFO - end of loop
2012-12-16 23:12:23,528 - ss_server - INFO - ending function
2012-12-16 23:12:23,531 - web2py.scheduler - DEBUG -     new task report: 
COMPLETED
2012-12-16 23:12:23,531 - web2py.scheduler - DEBUG -    result: "success"
2012-12-16 23:12:23,573 - web2py.scheduler - DEBUG -  partial output: 
"serach for files
/usr/local/ss_server/web2py_ss_server
processing file: 
S-1014.D-20121214121351.L-WIKILONG.I-000000000000000000055032,.P-2.jpg
IO Error
processing file: 
S-1014.D-20121214135116.L-KONGS.I-000000000000000000055055,.P-1.jpg
IO Error
processing file: 
S-1019.D-20121214122954.L-WIKILONG.I-xxxxxxxxxxxxxxxxxxxxTEST,.P-8.jpg
IO Error
processing file: 
S-1021.D-20121214125548.L-WIKILONG.I-100000000000000000055006,.P-1.jpg
IO Error
"
2012-12-16 23:12:23,573 - web2py.scheduler - DEBUG -   task completed or 
failed
2012-12-16 23:12:23,574 - web2py.scheduler - DEBUG -  recording task report 
in db (COMPLETED)
2012-12-16 23:12:23,580 - web2py.scheduler - INFO - task completed 
(COMPLETED)
2012-12-16 23:12:23,580 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:23,582 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 23:12:23,582 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:25,429 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 23:12:26,584 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:26,586 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 23:12:26,586 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:28,447 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 23:12:29,588 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:29,589 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 23:12:29,590 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:31,474 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 23:12:32,592 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:32,593 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 23:12:32,594 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:34,479 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 23:12:34,480 - web2py.scheduler - DEBUG -     freeing workers 
that have not sent heartbeat
2012-12-16 23:12:34,483 - web2py.scheduler - INFO - TICKER: I'm a ticker 
(snapserver.local#63)
2012-12-16 23:12:35,595 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:35,601 - web2py.scheduler - INFO - TICKER: workers are 1
2012-12-16 23:12:35,601 - web2py.scheduler - INFO - TICKER: tasks are 0
2012-12-16 23:12:35,601 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:37,554 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 23:12:38,603 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:38,605 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 23:12:38,605 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:40,588 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 23:12:41,607 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:41,610 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 23:12:41,610 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:43,623 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 23:12:44,612 - web2py.scheduler - DEBUG - looping...
2012-12-16 23:12:44,613 - web2py.scheduler - DEBUG - nothing to do
2012-12-16 23:12:44,613 - web2py.scheduler - DEBUG - sleeping...
2012-12-16 23:12:46,785 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-16 23:12:47,615 - web2py.scheduler - DEBUG - looping...
2012-12-17 01:12:49,028 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 01:12:49,029 - web2py.scheduler - DEBUG -     freeing workers 
that have not sent heartbeat
2012-12-17 01:12:49,032 - web2py.scheduler - INFO - TICKER: I'm a ticker 
(snapserver.local#63)
2012-12-17 01:12:52,036 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 01:12:55,041 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 01:12:58,045 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 01:13:01,079 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 01:13:04,136 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 01:13:04,137 - web2py.scheduler - DEBUG -     freeing workers 
that have not sent heartbeat
2012-12-17 01:13:04,139 - web2py.scheduler - INFO - TICKER: I'm a ticker 
(snapserver.local#63)
2012-12-17 01:13:07,180 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:13:07,977 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:13:10,982 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:13:13,986 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:13:17,323 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:13:17,324 - web2py.scheduler - DEBUG -     freeing workers 
that have not sent heartbeat
2012-12-17 03:13:17,327 - web2py.scheduler - INFO - TICKER: I'm a ticker 
(snapserver.local#63)
2012-12-17 03:13:20,331 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:13:23,336 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:13:26,360 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:28:46,026 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:28:49,068 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:28:49,069 - web2py.scheduler - DEBUG -     freeing workers 
that have not sent heartbeat
2012-12-17 03:28:49,072 - web2py.scheduler - INFO - TICKER: I'm a ticker 
(snapserver.local#63)
2012-12-17 03:28:52,191 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:28:55,275 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:28:58,288 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:29:01,466 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:29:04,471 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:29:04,472 - web2py.scheduler - DEBUG -     freeing workers 
that have not sent heartbeat
2012-12-17 03:29:04,474 - web2py.scheduler - INFO - TICKER: I'm a ticker 
(snapserver.local#63)
2012-12-17 03:29:07,486 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:29:10,643 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:29:13,802 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:29:16,910 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:29:19,972 - web2py.scheduler - DEBUG - ........recording 
heartbeat
2012-12-17 03:29:19,973 - web2py.scheduler - DEBUG -     freeing workers 
that have not sent heartbeat
2012-12-17 03:29:19,975 - web2py.scheduler - INFO - TICKER: I'm a ticker 
(snapserver.local#63)

The IOErrors in the task are normal and they're caught and handled 
properly. This has been happening since I upgraded web2py from 1.99 to 
2.2.1. The TIMEOUT problem was happening on v1.99. It doesn't run long 
enough for me to test if that is still happening. It just goes on like that 
forever. Not sure what happened. Any ideas?

On Thursday, December 13, 2012 4:11:49 PM UTC-8, Niphlod wrote:
>
> unless your tasks have a very narrow period they shouldn't go on timeout 
> on SQLite (remember to commit if acting on the tables within a task). 
> W2P_TVSeries uses 500-600 tasks with a "watcher" task coordinating those 
> and it doesn't block.
> "Upgrading" to Mysql or PostgreSQL will fix the issue if the issue is 
> dependant on database locking. It's fairly easy to install both, so it's 
> surely worth the effort.
> Anyway, I'm more and more curious to see logs (and possibly a packed app 
> to reproduce) ^_^
>
> On Thursday, December 13, 2012 9:16:27 PM UTC+1, Mike D wrote:
>>
>> I have only this one task. I am certainly going to change the 
>> retry_failed and hopefully that will be a sufficient solution. I actually 
>> tried your other solution a while ago and that "monitoring" task actually 
>> ended up in a TIMEOUT state as well. Sad face. Any idea on that one?
>>
>> Do you think that switching database providers would help or is it not 
>> worth the effort?
>>
>> Thanks again for your help.
>>
>> On Thursday, December 13, 2012 11:57:01 AM UTC-8, Niphlod wrote:
>>>
>>> All my statements were made under the assumption that the scheduler_run 
>>> table showed absolutely no trace of the TIMOUTted task.
>>>
>>> In any case, running the scheduler on SQLite is "safe" only for 1 or 2 
>>> workers and not with a zillion of tasks. Concurrency was never a friend of 
>>> SQLite. 
>>>
>>> BTW, at this point enable the debug logging of the scheduler: can be 
>>> quite a long log keep it for a day or two, but if you can't reproduce the 
>>> error at will, it's the only hope to see what is really going on.
>>>
>>> PS: confirmed: TIMEOUTted tasks do end up requeued with retry_failed != 0
>>>
>>> PS2: don't underestimate the flexibility of the scheduler. Even if 
>>> retry_failed was not available, you can always use another task that checks 
>>> on the scheduler_task table for the "original" task and requeue it :P
>>>
>>>
>>>

-- 



Reply via email to