Celery をタスク キューとして使用する Django アプリで奇妙な問題が発生しています。
- 私はタスクを開始します。
- 実行中、タスクは update_state(...) を呼び出して、進行状況を示すようにタスクの状態を設定します。
- タスクが完了します。これをログで確認します。
ただし、このビュー (http://myapp/tasks/37d9a3ac-5bd2-4791-9729-2234ff3be762/status) は、タスクが完了してからかなりの時間、STALE の結果を返します。Redis とデータベースの両方をバックエンドとして使用して、これを再現できます。最終的にタスクの状態は正しく返されますが、ユーザーが何かを実行できるようになる前にタスクが完了したかどうかを UI がポーリングするため、アプリが実際に機能しなくなります。
編集: 私のアプリは Heroku にデプロイされています。Cedar は応答キャッシュを行うのだろうか??
何が起こっているのか分かりますか?