我應該看看編寫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. 無法從jenkins作業產生守護進程服務器
- 2. Python Windows服務到守護進程服務
- 3. C#服務作爲Debian中的單服務守護進程
- 4. Python守護進程
- 5. 實現單線程服務器/守護進程(Python)
- 6. POPEN,多和守護程序與Python
- 7. 創建類似服務守護進程Android應用程序
- 8. 模型多線程/叉服務器守護程序
- 9. 關於守護線程提供非守護線程一些服務
- 10. 使用python,守護進程
- 11. 守護進程,使程序在python/wx.python的後臺工作
- 12. 服務器守護進程的套接字停止工作
- 13. 延遲作業是否作爲守護進程運行?
- 14. emacs的守護程序服務器不啓動OS X啓動
- 15. 在Linux上創建Java守護程序服務的工具
- 16. 如何守護Java程序?
- 17. 作爲守護程序在Python腳本中運行apschduler?
- 18. 守護python的BaseHTTPServer
- 19. Azure Active Directory v2.0守護程序和服務器端應用程序支持
- 20. 瞭解Python守護進程線程
- 21. Python線程和守護進程
- 22. 沒有守護進程的Rails後臺作業
- 23. delayed_job,守護進程或其他gem for recurring後臺作業
- 24. 守護線程
- 25. 守護rake任務
- 26. 在Linux上獲取程序進程(服務和守護進程)C
- 27. 部署Rails應用程序與delayed_job作爲守護程序任務運行
- 28. 作爲守護程序運行程序的Docker
- 29. 啓動 - 停止守護進程和Python
- 30. 在python中編寫守護進程
我看到了python-daemon,它足夠穩定嗎? – Timmy 2010-04-22 13:27:32
我相信是這樣,但我沒有花時間閱讀它的代碼或任何東西,所以我不能確定。 – Benson 2010-04-22 21:15:16