我应该看看编写python守护进程和处理作业的包?另外,我需要为python守护进程做些什么?Python作业服务守护程序?
回答
你的问题有点含糊,但我假设你的意思是你想编写一个python守护进程来处理在队列中抛出的作业。如果不是,请尽量多说。 :-)
我听说了很多关于redis的很棒的事情。 github上的人员构建了resque作为Ruby的作业处理守护进程。如果你的语言是灵活的,那么你可以使用它,但如果你不是,那么你可以使用 redis作为你的队列系统,尽可能深入地模拟它。根据您需要的可插拔和可扩展性,这可能是一个非常简单的实现。
另一个选项我遇到了更多的谷歌搜索是redqueue。看起来它可能已经实现了大部分作业队列。
如果您使用的是django,您不妨考虑Celery项目。这是一个基于RabbitMQ的作业队列系统,它是另一个具有出色评论的排队服务器。
就python中创建守护进程而言,有很多选项。你可以看看这个page on activestate,这是一个好的开始。更好的是,您可以使用python-daemon为您完成所有工作。但是,如果使用mczepiel推荐的上述选项或beanstalkd之一,那么您可能不必将进程作为守护进程运行。
我与beanstalkd很高兴,它具有多种不同语言的客户端库:
守护程序: http://kr.github.com/beanstalkd/
Python客户端库: http://code.google.com/p/pybeanstalk/
我最近(本周)用一个python守护进程在RabbitMQ中实现一个队列,提取信息并将其存储在数据库中(使用Django ORM)。守护进程有一个中间缓冲区,所以它会稍等一会并批量写入数据库,而不是每次写入一条小消息时写入。
我已经使用这个小小的flopsy模块与队列进行了整合,这很容易设置。唯一的问题是我能够设置等待消息的超时时间,因为模块没有明确的方式来做这件事。经过一段时间玩交互式shell并创建几个dir()
后,我设法找到socket
对象并设置超时。
我也考虑过Celery,但似乎更关注在内部使用RabbitMQ来允许您启动任务(定期或异步),更多的是使用队列与其他系统进行通信。在我们的例子中,队列可以由Python系统和Ruby系统提供。
一旦我完成了这个过程,我已经做了一些调整,允许它作为一个守护进程运行(主要是将标准输出存储到一个文件中以允许轻松记录),然后创建一个bash脚本来启动一个start-stop-daemon命令。我已经或多或少地跟上了这一步。schema 我发现python-daemon晚了大约一天,所以在完成这项工作之后,重新审视它是没有意义的,但是对于Python项目来说也许更有意义。
- 1. Python服务/守护进程
- 2. 无法从jenkins作业产生守护进程服务器
- 3. PHP服务(守护进程)
- 4. 作为守护程序服务的Spring Boot应用程序?
- 5. Python Windows服务到守护进程服务
- 6. Python守护进程
- 7. C#服务作为Debian中的单服务守护进程
- 8. 制作一个Java双出口服务器守护程序
- 9. python守护进程+进程间通信+ web服务器
- 10. 实现单线程服务器/守护进程(Python)
- 11. 提交守护进程或服务
- 12. C++守护进程服务器停止
- 13. 守护多线程服务器
- 14. WHOIS服务器守护进程
- 15. 替代@reboot cron作业,当cron守护程序启动时启动作业
- 16. .NET服务到Linux守护
- 17. 如何使用OneDrive CSharp SDK作为服务或守护程序应用程序?
- 18. POPEN,多和守护程序与Python
- 19. Python的守护程序错误
- 20. Python的守护程序:保持记录
- 21. 模型多线程/叉服务器守护程序
- 22. 创建类似服务守护进程Android应用程序
- 23. 关于守护线程提供非守护线程一些服务
- 24. 使用python,守护进程
- 25. 守护进程,使程序在python/wx.python的后台工作
- 26. 服务器守护进程的套接字停止工作
- 27. 如何将我的服务器作为守护进程运行?
- 28. 如何运行节点js服务器作为守护进程?
- 29. Faye服务器作为守护进程或自动启动
- 30. 运行erlang shell作为守护进程/服务
我看到了python-daemon,它足够稳定吗? – Timmy 2010-04-22 13:27:32
我相信是这样,但我没有花时间阅读它的代码或任何东西,所以我不能确定。 – Benson 2010-04-22 21:15:16