是否可以使用Python创建“cron”作业?

时间:2017-08-03 14:15:36

标签: python cron

我想让用户有可能每隔30分钟执行一次功能,并且能够随时停止此操作。 (用户使用Web前端与我的应用程序进行交互。)

如何用Python做到这一点?

我的想法

我想到的一种可能性是使用time.sleep的子进程+无限循环:

  1. Python函数获取它自己的脚本whatever.py,它有一个命令行参数stop_filename
  2. 只要用户想要开始此“cron”作业,subprocess就会whatever.py创建一个stop_filename = "kill_job/{}".format(uuid.uuid4())
  3. 的新流程
  4. 当用户想要停止该过程时,将创建文件stop_filename。在执行函数之前,进程始终会检查此文件是否存在,如果文件存在,则会终止该函数。
  5. 我将生成的stop_filename存储在每个进程的数据库中,以便用户只需要知道他想要杀死哪个“cron作业”。
  6. 虽然这样可行,但有几件我不喜欢的事情:

    • 进程查杀可能需要30分钟
    • 此过程可能已经过时,我不知道如何检查
    • 看起来太复杂了。

0 个答案:

没有答案