如何避免celey定时任务的重复执行,时间间隔不够长的问题,python代码怎么写
时间: 2024-03-20 17:43:56 浏览: 29
以下是一个示例代码,用于避免 Celery 定时任务重复执行的问题,时间间隔不够长:
```python
import time
from celery import Celery
app = Celery('tasks', broker='pyamqp://guest@localhost//')
last_run_time = None
@app.task
def my_task():
global last_run_time
now = time.time()
if not last_run_time or now - last_run_time >= 60:
# 执行任务代码
last_run_time = now
```
在上面的示例代码中,我们使用了一个全局变量 `last_run_time` 来记录上一次任务执行的时间。在任务代码中,我们首先获取当前时间 `now`,然后判断 `last_run_time` 是否为空或距离当前时间间隔是否足够长(这里假设时间间隔为 60 秒),如果符合条件,则执行任务代码,并更新 `last_run_time`。这样就可以避免 Celery 定时任务重复执行的问题,时间间隔不够长。
阅读全文