Celery (ソフトウェア)

Celeryは、分散メッセージパッシングをベースとしたオープンソースの非同期タスクキューまたはジョブキューである。スケジューリングもサポートしているが、リアルタイムでのオペレーションに重点を置いている。

 概要 
「Tasks」と呼ばれる実行ユニットは、マルチプロセッシング、eventlet、またはgevent を使用して1つ以上のワーカーノード上で同時に実行される。Tasksは非同期（バックグラウンドで）に実行することも、同期的に（終了を待つように）実行することもできる。Celeryは、Instagramなどの本番システムで利用されており、1日に数百万のTasksを処理できる。

 技術 
CeleryはPythonで書かれているが、プロトコルは任意の言語で実装でき、Webhookを使用して他の言語でも操作できる。また、RubyクライアントRCelery、PHPクライアント、Goクライアント、Rustクライアント、Node.jsクライアントなどがある。

Celeryを実行するにはメッセージブローカーが必要となる。2024年10月の時点で、RedisとRabbitMQが活発にメンテナンス、監視されている。Amazon SQSも対応とメンテナンスが行われているが、worker inspectionとランタイム時の管理には対応していない。ZookeeperとKafkaは現在実験的な開発段階にある。

 出典 

 関連項目 

 Advanced Message Queuing Protocol (AMQP)

 外部リンク 



Category:メッセージ指向ミドルウェア
Category:プロセス間通信
Category:Pythonでプログラムされた自由ソフトウェア
Category:BSDライセンスを利用するソフトウェア