【发布时间】:2019-12-11 14:53:44
【问题描述】:
我正在构建一个 django 应用程序,在该应用程序中,我使用相机捕捉图像、分析它们、将元数据和分析结果存储在数据库中,最后将数据呈现给用户。
我正在考虑使用 Celery 来处理捕获图像然后处理它们的后台进程:
app = Celery('myapp')
@app.task
def capture_and_process_images(camera):
while True:
image = camera.get_image()
process_image(image)
sleep(5000)
@app.task
def process_image(image):
# do some calculations
# django orm calls
# etc...
第一个任务将永久运行,而第二个任务大约需要 20 秒,因此将同时处理多个图像。
我没有在网上找到任何以这种方式使用 Celery 的示例,所以我不确定这是否是不好的做法。
Celery 可以/应该用于处理永久运行的任务吗?
谢谢。
【问题讨论】:
标签: python django multithreading image celery