/ / DjangoとCeleryの分離とDockerize - Django、Docker、セロリ、Django-Celery

ダンゴとセロリの分離とドッキング - django、docker、celery、django-celery

この2つの部分をドッキングして使用するために、DjangoからCeleryを切り離すための最良の方法は何だろうかと思います。 港湾労働者集団サービス?通常、Djangoアプリケーションを参照するコマンドを使用して、セロリワーカーとセロリビートを起動します。

celery worker -A my_app
celery beat -A my_app

このことから、私はceleryが設定情報を拾っていると思います設定ファイルとcelery.pyファイルからマイクロサービスに移動するのは簡単です。タスクがDjango ORMをどのように利用するかについて完全に理解していないのでしょうか?それとも、マイクロサービスマントラとCeleryが、タスクを完了するために必要なデータに対してDjango RESTフレームワークAPIに対してGET / POST呼び出しを行うように設計すべきではありません?

回答:

回答№1は1

私はdjangoアプリとそのceleryワーカーの両方のためのコードが同じであるセットアップを使います(単一のリポジトリのように)。

デプロイするときは、ORMなどでの驚きを避けるために、どこにでも同じコードをリリースするようにしてください。

Celery それはモデルなどへのアクセスを持っているように、djangoアプリへの参照から始まります...

ワーカーとメインアプリ間の通信は、メッセージングキュー(またはrabbitmq または redis...)またはデータベースを介して(のように、celeryワーカーはモデルなどを知っているので、dbで直接作業します)

それがマイクロサービスのマントラに従っているかどうかはわかりませんが、うまくいきます:)