2017-06-05 11 views
0

getリクエストで毎回セロリでタスクのエタを取得したい。セロリには、タスクスケジュール時間を得るための直接apiはありません(inspect()は例外ですが、私にとっては非常にコストがかかるようです)。セロリの最善の方法を管理/タスクのエタを取得

私は特定のタスクのηをどうやって管理できますか? Djangoモデルのeta時間を保存することの欠点は一貫していません(私はできないので、taks_idを格納できませんでした)。

私は1つの質問で何らかの理由でブローカーなどに依存しますが、いくつかの解決策があることを願っています。

したがって、etaを取得するためにtask_idを管理するにはどうすればよいですか?

バックエンドとブローカーは、私がこれを行うための魔法の方法があるとは思わない

答えて

0

Redisのです。

私のアプリでやっているのは、各タスクの実行時間を記録し、それをETAとして返すだけです。もう少し正確にしたい場合は、Redisキューのサイズとタスク消費率を考慮に入れることもできます。

+0

私はすでにインデックスとしてモデルにログオンし、このインデックスを自分で管理しています –

関連する問題