2017-08-20 3 views
0

私はセロリのタスクをいくつか持っています。タスクIDを使用してAsyncResultをインスタンス化することによって、別々のプロセスから定期的に状態をチェックしています。セロリのタスクの表示名

これから、私はタスクの状態を取得します。 hereのようにカスタム結果バックエンドと拡張AsyncResultクラスを実装することで、タスク名も取得できます。しかし、私は各タスクのカスタム表示名を得ることができます。人間が読めるもので、私は状態情報をユーザーフレンドリーな方法で表示できます。その後、私は...

result = ExtendedAsyncResult(task_id) 
result.display_name 

を行うだろう

@app.task() 
def my_task(args): 
    display_name = "My Task" 
    ... 
    ... 

しかし、私はにリンクされたカスタム結果バックエンドを見てから、「そこのdoesn:

仮に、それは次のように設定されることがありますタスクのローカル変数にアクセスする方法は何も表示されません。

私が探しているものを達成する方法はありますか?

答えて

1

セロリサポートタスク名は - これはあなたが探しているものであると思います:あなたは(たとえば、花で)好きな場所

@app.task(name='My Task') 
def my_task(args): 
    ... 
    ... 

My Taskが表示されるようになります。

+0

ありがとう...これはおそらく答えになるはずです。私はそれを試したことを忘れていましたが、(a)自分の仕事を壊してしまいました。なぜ、なぜ名前がついていれば、もう動かないのでしょうか?そのような名前で空白などを使用してください(たとえそれを動作させることができたとしても)。ドキュメントには、すべての例でより多くの変数のような名前が表示されます。名前がユニークである限り、明示的に何も禁止するものではありませんが、私はそれに自信がありません。 –

+1

興味深い。実際には名前にアンダースコア(スペースではない)を使用していますが、スペースでも動作するはずです。覚えている限り、目的はロギングです。とにかく、あなたが成功すれば更新し、問題が解決すれば受け入れて/投票してください:-) – ItayB

+1

何が間違っているのか分かりました。それは私のせいでした。特定のプレフィックスを持たないタスクを無視するカスタムタスクルータがありました。一度それを世話したら、ここの解決法は完全に機能します。 –

関連する問題