我应该查看哪些软件包来编写Python守护进程并处理任务?此外,我需要为Python守护进程做什么?
我对beanstalkd相当满意,它有多种语言的客户端库可用:
守护进程: http://kr.github.com/beanstalkd/
Python客户端库: http://code.google.com/p/pybeanstalk/
您的问题有些含糊不清,但我认为您是想编写一个Python守护进程来处理被加入队列的作业。如果不是,请告诉我。 :-)
我听说过很多关于redis的好评。GitHub的开发人员构建了resque,作为Ruby的作业处理守护进程。如果您具有语言灵活性,可以直接使用它,但如果没有,可以利用redis作为您的队列系统,在所需的深度上进行模拟。这可能是一个非常简单的实现。
在一些进一步的搜索后,我找到了另一个选项:redqueue。它看起来已经实现了大部分工作队列。
如果您正在使用django,则可以考虑Celery项目。它是基于RabitMQ的作业队列系统,后者是另一个受到极高评价的队列服务器。
就Python中创建守护程序而言,有多种选择。您可以查看这个activestate上的页面,这是一个很好的开始。更好的选择是使用python-daemon来为您完成所有任务。但是,如果您使用上述选项之一或mczepiel建议的beanstalkd,则可能不需要将进程运行为守护程序。
dir()
之后,我设法获得了socket
对象并设置了超时时间。完成过程后,我进行了一些调整,以便将其作为守护进程运行(主要是将标准输出存储到文件中以便于日志记录),然后创建一个启动start-stop-daemon命令的bash脚本。我大致遵循了这个schema 我发现python-daemon晚了一天才知道,所以在工作完成后重新访问它没有意义,但对于Python项目来说可能更有意义。