如何实现一个长期运行的事件驱动的python程序?
问题描述:
我有一系列针对python WSGI应用程序的维护任务,这些任务对于crontab来说有些过于复杂(需要在从作业队列大小派生的频率运行作业,将连接池管理到一组EC2实例等)。如何实现一个长期运行的事件驱动的python程序?
我该如何实现一个长期运行的事件驱动的python程序?我以前从来不需要这个功能,所以我甚至不知道要google什么。
答
大部分现代化的大型Python网站都使用Celery进行此类工作。它也是一个支持任务调度的分布式任务队列。
虽然对于一个小型网站来说可能有点重量级,但它会随着你的增长而增长。我期待着自己实现它(简直就是兔子)。
我最近发现django用户的另一种选择django-tasks,它专注于较少,较长的批处理类型作业。还有使用zeromq的django-ztask。
附录:刚刚碰到gearman其中有python bindings。
+0
啊,显然我在找的google查询是“python异步任务队列”。 :) –
http://twistedmatrix.com/trac/? – zengr
@zengr,twisted和python-daemon是我想到的前两件事,但我想知道在我承诺任何事情之前我是否在标准库中丢失了某些东西。我对python还是有点新东西。 –