[英]How to run a Python package as a scheduled daemon job?
我已经创建了一个 Python 包并在 PyPI 上发布了它,比如spamandeggs
。 该软件包是跨平台的(Windows、GNU/Linux、MacOSX),旨在定期(例如每 5 分钟)向用户更新某些信息。 该软件包可以通过命令spamtheeggs
从命令行spamtheeggs
。
以下是我面临的问题:
问题 01 :如何守护通过spamtheeggs
命令运行的脚本?
问题:按照这个答案,我尝试在我的脚本中使用schedule
。 这适用于调度,但执行不是守护进程。 终端在整个过程中都处于忙碌状态。
我想知道一种守护 Python 包的方法。
问题 02 :如何将命令添加为定时执行的 cron 作业?
解决方案 01 :一种方法是编写描述该过程的安装指南(使用crontab -e
等编辑 crontab)。 缺点:不吸引人。
解决方案02 :作为包的作者,我希望能够将此命令添加到用户的crontab中(显然是在获得用户确认后)。
选项:
我想知道哪个选项是合适的(如果有的话)以及关于我如何着手处理它们的任何提示。
到目前为止我已阅读的资源列表:
注意:如果该解决方案适用于所有 3 个平台,我将不胜感激。
PS:这是我第一次尝试 cron 和守护进程。
python-deamon
包可以帮助你,它有两种工作模式:
使用跑步者(我认为这正是你想要的): http : //www.gavinj.net/2012/06/building-python-daemon-process.html
或者直接使用daemon.DaemonContext
运行(一种更传统的方式)
python-deamon
没有文档,但我找到了一些可以帮助你的代码http://www.programcreek.com/python/example/10392/daemon.DaemonContext
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.