【发布时间】:2020-09-29 15:46:57
【问题描述】:
我们正在使用 django、rabbitmq、celery 和 ffmpeg 的组合来读取相机流并将它们分解成图像以存储到文件系统中。此设置 24x7 全天候工作。现在,我们为每个摄像头流创建一个单独的任务,理论上每个任务都将无限期运行。
如果一个流出现故障,我们等待 n 帧,创建一个异常并在异常处理程序中,使用 time.sleep 创建 1 分钟的延迟后,我们重新运行 ffmpeg 进程。
我的问题是, 这是一个正确的方法吗? 我们应该使用 celery 来读取流吗? 芹菜是完成这项任务的正确工具吗? 我们可以使用 time.sleep 在 celery 任务中创建延迟吗?会不会影响其他任务?
【问题讨论】:
标签: python-3.x ffmpeg rabbitmq celery django-celery