Source

django-celery-about / source / request.rst

Full commit

コンテキスト:request

your_task.request:タスクの実行中コンテキスト

id:

実行されるTaskのユニークID

taskset:

タスクが所属するタスクセットのユニークID(タスクセットに所属する場合のみ)

args:

列挙引数

kwargs:

キーワード引数

retries:

現在のタスクがリトライされた回数。 0から始まります。

is_eager:

Worker では無く、ローカルプロセスでTaskが実行されるのであれば

logfile:

Worker が記録するファイル。

loglevel:

現在のログレベル。 pythonの :mod:`logging` モジュールで定義されています。

>>> import logging
>>> logging.DEBUG
10
hostname:

Taskを実行しているWorkerインスタンスのホスト名。

delivery_info:

メッセージ配送の付加情報。 このTaskをDeliver するのに使われた Exchange と Routing Key を含むマッピング情報。 Task.retry はこの情報をもとに同じ前回と同じ destination queue にTask を再送する。 この dict に含まれるキーは 使われる Message Broker によって違う。

@celery.task
def note():
    Message(signal="task",
        message="Running Task is %s"% note.request.id ).save()

celery.current_task : 現在のタスク

タスク内で実行

>>> from celery import current_task
>>> current_task
None