ok, so it's definitely getting "hanged" between your "custom logging" (that you say it's just before the return at the end of your task) and updating the result + the status of the task. Are you by any chance using lots of print statements in your task ? If you're using popen2 (that anyway is NOT recommended in python), did you check that the stderr and stdout pipes are not filled up ? Did you try to run the task using web2py shell to see if it's not "bugged" per se ?
On Friday, August 22, 2014 12:45:40 PM UTC+2, Stephen Weiss wrote: > > Niphlod, > > The following is the output from start of scheduler to the point where I > Ctrl-C'd it, with the task run in the middle > > Here's the process output during the run... > [root@centos-63 ~]# ps -ef | grep web > root 7585 7521 0 05:34 pts/0 00:00:00 python web2py.py -K > APITool2 -D 0 > root 7598 7585 0 05:35 pts/0 00:00:00 python web2py.py -K > APITool2 -D 0 > root 7651 7635 0 05:36 pts/1 00:00:00 grep web > > and after I Ctrl-C'd the manual run of the scheduler. > > [root@centos-63 ~]# ps -ef | grep web > root 7598 1 0 05:35 pts/0 00:00:00 python web2py.py -K > APITool2 -D 0 > root 7655 7635 0 05:44 pts/1 00:00:00 grep web > [root@centos-63 ~]# > > Thanks! > > [root@centos-63 web2py]# python web2py.py -K Tool -D 0 > web2py Web Framework > Created by Massimo Di Pierro, Copyright 2007-2014 > Version 2.9.5-stable+timestamp.2014.03.16.02.35.39 > Database drivers available: SQLite(sqlite3), MySQL(pymysql), > PostgreSQL(pg8000), IMAP(imaplib) > starting single-scheduler for "Tool"... > /opt/web-apps/web2py/gluon/custom_import.py:71: DeprecationWarning: the > sets module is deprecated > return NATIVE_IMPORTER(oname, globals, locals, fromlist, level) > /opt/web-apps/web2py/gluon/custom_import.py:71: DeprecationWarning: The > popen2 module is deprecated. Use the subprocess module. > return NATIVE_IMPORTER(oname, globals, locals, fromlist, level) > DEBUG:web2py.scheduler.centos-63#7585:defining tables (migrate=True) > DEBUG:web2py.scheduler.centos-63#7585:thread building own DAL object > DEBUG:web2py.scheduler.centos-63#7585:looping... > DEBUG:web2py.scheduler.centos-63#7585:defining tables (migrate=False) > INFO:web2py.scheduler.centos-63#7585:nothing to do > DEBUG:web2py.scheduler.centos-63#7585:sleeping... > DEBUG:web2py.scheduler.centos-63#7585: freeing workers that have not > sent heartbeat > INFO:web2py.scheduler.centos-63#7585:centos-63#7572 is a ticker, I'm a > poor worker > DEBUG:web2py.scheduler.centos-63#7585:looping... > INFO:web2py.scheduler.centos-63#7585:nothing to do > DEBUG:web2py.scheduler.centos-63#7585:sleeping... > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (ACTIVE) > DEBUG:web2py.scheduler.centos-63#7585:looping... > INFO:web2py.scheduler.centos-63#7585:nothing to do > DEBUG:web2py.scheduler.centos-63#7585:sleeping... > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (ACTIVE) > DEBUG:web2py.scheduler.centos-63#7585:looping... > INFO:web2py.scheduler.centos-63#7585:nothing to do > DEBUG:web2py.scheduler.centos-63#7585:sleeping... > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (ACTIVE) > DEBUG:web2py.scheduler.centos-63#7585:looping... > INFO:web2py.scheduler.centos-63#7585:nothing to do > DEBUG:web2py.scheduler.centos-63#7585:sleeping... > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (ACTIVE) > DEBUG:web2py.scheduler.centos-63#7585:looping... > INFO:web2py.scheduler.centos-63#7585:nothing to do > DEBUG:web2py.scheduler.centos-63#7585:sleeping... > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (ACTIVE) > DEBUG:web2py.scheduler.centos-63#7585: freeing workers that have not > sent heartbeat > INFO:web2py.scheduler.centos-63#7585:TICKER: I'm a ticker > DEBUG:web2py.scheduler.centos-63#7585:looping... > DEBUG:web2py.scheduler.centos-63#7585:Assigning tasks... > INFO:web2py.scheduler.centos-63#7585:TICKER: workers are 1 > INFO:web2py.scheduler.centos-63#7585:TICKER: tasks are 2 > DEBUG:web2py.scheduler.centos-63#7585:Tasks assigned... > DEBUG:web2py.scheduler.centos-63#7585:sleeping... > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (ACTIVE) > DEBUG:web2py.scheduler.centos-63#7585:looping... > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (ACTIVE) > DEBUG:web2py.scheduler.centos-63#7585: work to do 138 > DEBUG:web2py.scheduler.centos-63#7585: new scheduler_run record > INFO:web2py.scheduler.centos-63#7585:new task 138 "deploy" > Tool/default.deploy > DEBUG:web2py.scheduler.centos-63#7585: new task allocated: > Tool/default.deploy > DEBUG:web2py.scheduler.centos-63#7585: task starting > DEBUG:web2py.scheduler.centos-63#7585: task started > DEBUG:Tool:tasks.py:deploy: Deployment:[testing] Project:[2] > Environment:[1] > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585: freeing workers that have not > sent heartbeat > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:Tool:tasks.py:deploy_project: Done > DEBUG:Tool:tasks.py:deploy: Done > DEBUG:Tool:tasks.py: new task report: COMPLETED > DEBUG:Tool:tasks.py: result: null > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585: freeing workers that have not > sent heartbeat > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585: freeing workers that have not > sent heartbeat > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585: freeing workers that have not > sent heartbeat > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585: freeing workers that have not > sent heartbeat > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585: freeing workers that have not > sent heartbeat > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585: freeing workers that have not > sent heartbeat > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > DEBUG:web2py.scheduler.centos-63#7585:........recording heartbeat (RUNNING) > ^C^CINFO:web2py.scheduler.centos-63#7585:catched > INFO:web2py.scheduler.centos-63#7585:die! > ^CError in atexit._run_exitfuncs: > Traceback (most recent call last): > File "/usr/lib64/python2.6/atexit.py", line 24, in _run_exitfuncs > func(*targs, **kargs) > File "/usr/lib64/python2.6/multiprocessing/util.py", line 269, in > _exit_function > p.join() > File "/usr/lib64/python2.6/multiprocessing/process.py", line 119, in join > res = self._popen.wait(timeout) > File "/usr/lib64/python2.6/multiprocessing/forking.py", line 122, in wait > return self.poll(0) > File "/usr/lib64/python2.6/multiprocessing/forking.py", line 107, in poll > pid, sts = os.waitpid(self.pid, flag) > KeyboardInterrupt > Error in sys.exitfunc: > Traceback (most recent call last): > File "/usr/lib64/python2.6/atexit.py", line 24, in _run_exitfuncs > func(*targs, **kargs) > File "/usr/lib64/python2.6/multiprocessing/util.py", line 269, in > _exit_function > p.join() > File "/usr/lib64/python2.6/multiprocessing/process.py", line 119, in join > res = self._popen.wait(timeout) > File "/usr/lib64/python2.6/multiprocessing/forking.py", line 122, in wait > return self.poll(0) > File "/usr/lib64/python2.6/multiprocessing/forking.py", line 107, in poll > pid, sts = os.waitpid(self.pid, flag) > KeyboardInterrupt > [root@centos-63 web2py]# > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.