请教一个问题,如何创建一个在指定时间执行的一次性任务。

2021-04-27 11:51:15 +08:00
 xgq89757

目前想到的是

  1. 轮训任务表
  2. 使用数据库事件,可能要结合存储过程
3027 次点击
所在节点    Python
26 条回复
gengzi
2021-04-27 23:16:56 +08:00
crontab
fiypig
2021-04-28 07:49:04 +08:00
定时器开关呗,还可以设置时间,开关
guancyxx4king
2021-04-28 09:11:58 +08:00
celery 延时任务
no1xsyzy
2021-04-28 12:26:15 +08:00
celery
话说,cron/crontab 如果系统是关闭状态就无法启动
at 似乎能在启动后第一时间(或者如果用了 batch 或者大写字母开头的队列名的话是启动后的空闲时间)发动任务
danseguang
2021-04-28 17:28:06 +08:00
方法:
1.crontab 配置触发时间
2.数据库中有一个 status 字段控制任务状态,eg: 0 未执行,1 已执行-成功,2 已执行-失败,3 正在执行


触发时间到,先将 mysql 中的状态变为 3,避免其他人执行,执行完成后,再根据具体状态回写 mysql
xgq89757
2021-04-29 09:57:01 +08:00
感谢大家题的方案,发现 apscheduler 不错。date 方式可以满足需求

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/773564

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX