我想让用户有可能每隔30分钟执行一次功能,并且能够随时停止此操作。 (用户使用Web前端与我的应用程序进行交互。)
如何用Python做到这一点?
我想到的一种可能性是使用time.sleep
的子进程+无限循环:
whatever.py
,它有一个命令行参数stop_filename
subprocess
就会whatever.py
创建一个stop_filename = "kill_job/{}".format(uuid.uuid4())
stop_filename
。在执行函数之前,进程始终会检查此文件是否存在,如果文件存在,则会终止该函数。stop_filename
存储在每个进程的数据库中,以便用户只需要知道他想要杀死哪个“cron作业”。虽然这样可行,但有几件我不喜欢的事情: