0

我的任务是使用 opencv 编写脚本,该脚本稍后将作为 Celery 任务运行。这有什么后果?我需要注意什么?最后包含两行代码是否足够,或者我必须重写我的整个脚本?

我读到,Celery 是一个“基于分布式消息传递的异步任务队列/作业队列系统”,但我不会假装完全知道这一切意味着什么。

一旦获得更多详细信息,我会尝试更新问题。

4

1 回答 1

2
  • Celery 暗示了一个使用代理的守护进程(一些用于对任务进行排队的数据中心)。celeryd 守护进程和代理(RabbitMQ、redis、MongoDB 或其他)应始终在后台运行。
  • 您的任务将被排队,这意味着它们不会同时发生。您可以选择最多同时运行多少个。其余的将等待其他人完成后再开始。这也意味着通常需要一些并发性,并且您必须创建与其他人一起做同样事情的任务。
  • Celery 不是用来运行脚本,而是用来运行任务,写成 python 函数。您当然可以从 Python 执行外部脚本,但您的入口点始终是 Python 函数。
  • Celery 使用 Kombu,它使用消息代理来分派任务。这意味着您传递给任务的数据应该是可序列化的。
于 2012-05-24T14:01:31.530 回答