目前想到的是
- 轮训任务表
- 使用数据库事件,可能要结合存储过程
目前想到的是
|
TimePPTApr 27, 2021
1
如果仅仅是简单任务,最简单的就是 crontab 起个定时任务,到点了调用下 Python 脚本
如果是 Python Server 定时任务,方法很多 |
|
2
crontab, 特别好用
|
|
masterclockApr 27, 2021
3
简单任务 cron 、systemd
巨复杂的 airflow 类工作流引擎 自定义的 temporal 、cadence |
|
6
@masterclock 主要是想搞具体到日期的一次性任务,后面这些还都没听说过,我顺便学下。
|
|
bigpigeonApr 27, 2021
7
写个脚本
sleep xxx do some thing |
|
8
不要用 cron,用 at
|
|
SjwNo1Apr 27, 2021
9
在脚本里限制执行条件不就可以了吗
|
|
xanawangApr 27, 2021
10
那就一个骚操作吧 脚本的最后调用系统命令把 crontab 那行删掉再把自己删掉
|
|
11
|
|
yqmacApr 27, 2021
14
crontab 里面指定执行的年月日时分秒以后还能重复执行?只能执行一次了
|
|
WeKeeyApr 27, 2021
16
RabbitMQ 延时队列
|
|
timethinkerApr 27, 2021
17
按照你想到的这两种方法,我觉得第一种是可行的,定时扫描任务表,处理任务,然后删除或标记为已处理。
这样当你处理任务的时候,参与事务,如果任务处理失败,下一次定时扫描还可以重试(因为任务的删除操作或标记操作随着失败被一同回滚了,因此下一次执行仍然可以达成执行条件)。 取决于你目前现有的技术框架,如果增加一个这样的定时任务表很简单的话那就按照简单的来做。 |
|
mlcqApr 27, 2021
18
Scheduled 指定几月几日,然后代码里做个判断,满足条件才执行,一年最多就做一次判断吧,也没关系了
|
|
zhoudaiyuApr 27, 2021 via iPhone
20
Celery 啦
|
|
gengziApr 27, 2021
21
crontab
|
|
fiypigApr 28, 2021 via iPhone
22
定时器开关呗,还可以设置时间,开关
|
|
guancyxx4kingApr 28, 2021
23
celery 延时任务
|
|
no1xsyzyApr 28, 2021
24
celery
话说,cron/crontab 如果系统是关闭状态就无法启动 at 似乎能在启动后第一时间(或者如果用了 batch 或者大写字母开头的队列名的话是启动后的空闲时间)发动任务 |
|
danseguangApr 28, 2021
25
方法:
1.crontab 配置触发时间 2.数据库中有一个 status 字段控制任务状态,eg: 0 未执行,1 已执行-成功,2 已执行-失败,3 正在执行 触发时间到,先将 mysql 中的状态变为 3,避免其他人执行,执行完成后,再根据具体状态回写 mysql |
|
26
感谢大家题的方案,发现 apscheduler 不错。date 方式可以满足需求
|