脚本需要作为Celery任务运行。这有什么后果?

时间:2012-05-24 09:26:32

标签: python celery

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

我读到,Celery是一个“基于分布式消息传递的异步任务队列/作业排队系统”,但我不会假装完全知道所有这些都需要。

我会在收到更多详细信息后尝试更新问题。

1 个答案:

答案 0 :(得分:2)

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