2017-12-11 4 views
0

いくつかのタスクで特定の変更があった場合、を使用しているweb-applicationにメッセージを表示したいのですが、celeryが実装されていますが、デーモンプロセスとして実行できません。誰も私にそうする方法を提案することはできますか?セロリの結果にアクセスするには?

セロリを設定できましたが、バックグラウンドで連続して動作させることはできませんでした。実際の要件は、セロリに変更がある場合です。私はUIでメッセージを呼び出すことができますか?

答えて

0

セロリは非同期タスクキューであり、DjangoはリクエストレスポンスHTTPループ上に構築されています。セロリタスクの結果にアクセスするには、それをどこかに格納する必要があります。通常、Redisはバックエンドの結果ストアのデフォルトです。

Web UIでアクセスするには、インターバルポーリングを使用してクライアントから直接redis dbにアクセスするか、APIエンドポイントを公開する必要があります。後者がより好ましい。

+0

条件が満たされたときにのみ結果をredisバックエンドに格納するようなことがあります。保存されると直ちにUIに通知メッセージを送信します。 @jason – saplalodh

+0

はい。 http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-task_ignore_result – Jason

+0

問題は私がredis-databaseにアクセスできないことです – saplalodh

関連する問題