def an_infinite_task(args): for i in xrange(1, 4): print("infinite: %d %s" % (i, str(args))) print(uwsgi.call('helloworld')) uwsgi.signal(100) time.sleep(1)
def a_long_task(args): for i in xrange(1, 10): print("%s = %d" % (str(args), i)) print(uwsgi.call('helloworld')) time.sleep(1)
print("worker %d received signal %d" % (uwsgi.worker_id(), uwsgi.signal_received())) print("fork() has been called [2] wid: %d" % uwsgi.worker_id()) @postfork @lock def locked_func(): print("starting locked function on worker %d" % uwsgi.worker_id()) for i in xrange(1, 5): time.sleep(1) print("[locked %d] waiting..." % uwsgi.worker_id()) print("done with locked function on worker %d" % uwsgi.worker_id()) print(uwsgi.call('helloworld')) spool_filename = a_long_task.spool({'foo': 'bar'}, hello='world') print("spool filename = %s" % spool_filename) an_infinite_task.spool(foo='bar', priority=3) when = int(time.time()) + 5 print("scheduling a delayed task at %d" % when) delayed_task.spool(foo2='bar2', at=when) a_running_thread() a_running_thread_with_args("uWSGI") uwsgi_source_file = open('uwsgi.c') print( big_body_task.spool(priority=9, filename='uwsgi.c', body=uwsgi_source_file.read())) uwsgi_source_file.close()
def fork_happened2(): if uwsgi.i_am_the_spooler(): return print("worker %d is waiting for signal 100..." % uwsgi.worker_id()) uwsgi.signal_wait(100) print("worker %d received signal %d" % (uwsgi.worker_id(), uwsgi.signal_received())) print("fork() has been called [2] wid: %d" % uwsgi.worker_id()) @postfork @lock def locked_func(): print("starting locked function on worker %d" % uwsgi.worker_id()) for i in xrange(1, 5): time.sleep(1) print("[locked %d] waiting..." % uwsgi.worker_id()) print("done with locked function on worker %d" % uwsgi.worker_id()) print(uwsgi.call('helloworld')) spool_filename = a_long_task.spool({'foo': 'bar'}, hello='world') print("spool filename = %s" % spool_filename) an_infinite_task.spool(foo='bar', priority=3) when = int(time.time())+5 print("scheduling a delayed task at %d" % when) delayed_task.spool(foo2='bar2', at=when) a_running_thread() a_running_thread_with_args("uWSGI") uwsgi_source_file = open('uwsgi.c') print(big_body_task.spool(priority=9, filename='uwsgi.c', body=uwsgi_source_file.read())) uwsgi_source_file.close()