如题,现有一个需求创建一个资源,如果该资源创建成功,5 分钟后对这个资源做一定的操作。请问使用 Python 如何实现。
1
DoubleShut Mar 19, 2020
建议不要自己实现,可以用专业的队列,比如 rabbitmq,可以通过投递消息,设置消息过期时间,死信交换机,然后消费死信
|
2
2kCS5c0b0ITXE5k2 Mar 19, 2020
还是上专业的消息队列吧,...
|
3
Orenoid Mar 19, 2020
celery
|
4
qile1 Mar 19, 2020 via Android
做一个操作是外部调用吗?内部能不能 time。sleep 五分钟然后执行,进程和线程通信就那几种方法
|
5
wzwwzw Mar 19, 2020
celery 可以延迟执行吧,这个是简单的实现方式。
|
6
sujin190 Mar 19, 2020
https://github.com/snower/forsun
之前做过一个服务,高性能,用资源 ID 创建任务,到时发起动作,可以是 shell、http 请求、mysql 语句、redis 命令,可以使用 redis 持久化存储,不拍丢失,特别适合订单超时支付取消、配送订单超时之类的人物 当然也可也自己编写执行器扩展接入自己的项目里 |
7
Feedline Mar 19, 2020
用 redis 吧,轻量级,快速
|
8
hmxxmh Mar 19, 2020 via Android 用 Apscheduler,python 的异步任务调度框架
|
9
Leigg Mar 19, 2020 via Android
不就是定时任务吗,找找对应方案
|
10
renyijiu Mar 19, 2020 1. 简单的,落库,定时查询;
2. redis 的 zset,定时查询 3. 支持延时任务的消息队列 常见的几个方案 |
11
blackcurrant Mar 19, 2020 via iPhone
time.sleep(300)
do() |
12
zhoudaiyu PRO Celery 干就完了
|
13
Tink PRO sleep 一把梭
|
14
Hello0World Mar 19, 2020 via Android
celery
|
15
lithbitren Mar 19, 2020
非阻塞的等待,如果不想借助第三方库,最起码也得开个新进程独立等待。
|
16
Maboroshii Mar 19, 2020
循环检查任务是否可以执行
|
17
labulaka521 Mar 19, 2020 via Android
time.sleep 300
|
18
LengthMin Mar 19, 2020
https://github.com/agronholm/apscheduler
Advanced Python Scheduler https://github.com/coleifer/huey huey, a little task queue for python |
19
cz5424 Mar 20, 2020 via iPhone
最简单就是 sleep 啦
|
20
euph Mar 20, 2020
所以小白首先想到的就算 sleep 吗?第一次见各位大神各种骚操作
|
21
linvaux Mar 20, 2020
celery 了解一下
|
22
Dustyposa Mar 20, 2020 |
23
coderEOS Mar 20, 2020
crontab 1 分一次 + 然后存个文件列表 也可以
|
24
lithbitren Mar 22, 2020
我佛了,复习了一下文档,直接 threading.Timer 创建任务再 start 就完事了,最直接简单,线程级异步非阻塞,主进程主线程干啥都不影响,时间一到就会开始响应,不怕影响 gil 不开新进程也无妨。
https://docs.python.org/zh-cn/3/library/threading.html#timer-objects |
25
Pegasus Jan 28, 2022
|