shi*_*ymm 13 django celery celerybeat
在我的Django项目中,我使用Celery和Rabbitmq在后台运行任务.我正在使用芹菜节拍调度程序来执行定期任务.如何以编程方式检查芹菜节拍是否正常运行?
定期执行对 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")
Run Code Online (Sandbox Code Playgroud)
这个celery 定期任务计划每分钟运行一次,如果它没有达到 ping,则您的节拍服务已关闭*,监视器将启动您的邮件(或 webhook,以便您也可以使用它来获取移动推送通知) .
celery -A yourapp.celery_config beat -S djcelery.schedulers.DatabaseScheduler
Run Code Online (Sandbox Code Playgroud)
*或不知所措,您应该跟踪任务饱和度,这是 Celery 的噩梦,应该被正确检测和解决,当工作人员忙于阻塞需要优化的任务时经常发生
| 归档时间: |
|
| 查看次数: |
7136 次 |
| 最近记录: |