gpt4 book ai didi

django - 检查 celery beat 是否启动并运行

转载 作者:行者123 更新时间:2023-12-03 22:36:32 24 4
gpt4 key购买 nike

在我的 Django 项目中,我使用 Celery 和 Rabbitmq 在后台运行任务。
我正在使用 celery beat scheduler 来运行周期性任务。
如何以编程方式检查 celery beat 是否已启动并正在运行?

最佳答案

定期执行对 Ping URL 的 HTTP 请求的任务。当 URL 未按时 ping 时,URL 监视器将向您发送警报。

import requests
from yourapp.celery_config import app

@app.task
def ping():
print '[healthcheck] pinging alive status...'
# healthchecks.io works for me:
requests.post("https://hchk.io/6466681c-7708-4423-adf0-XXXXXXXXX")

celery periodic task计划每分钟运行一次,如果它没有命中 ping,则您的节拍服务已关闭*,监视器将启动您的邮件(或 webhook,以便您可以 zapier it 获取移动推送通知)。
celery -A yourapp.celery_config beat -S djcelery.schedulers.DatabaseScheduler

*或不知所措,您应该跟踪任务饱和度,这是 Celery 的噩梦,应该被正确检测和解决,当工作人员忙于阻塞需要优化的任务时经常发生

关于django - 检查 celery beat 是否启动并运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35355786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com