セロリ非推奨のタイムライン—Pythonドキュメント
セロリ廃止のタイムライン
バージョン5.0の削除
古いタスクAPI
Compatタスクモジュール
モジュール
celery.decorators
は削除されます:これは、変更する必要があることを意味します。
from celery.decorators import task
の中へ:
from celery import task
モジュール
celery.task
は削除されますこれは、変更する必要があることを意味します。
from celery.task import task
の中へ:
from celery import shared_task
-と: .. コードブロック:: python
セロリのインポートタスクから
の中へ:
from celery import shared_task
-と:
from celery.task import Task
の中へ:
from celery import Task
新しいTask
クラスは、これらのメソッドにclassmethod()
を使用しなくなったことに注意してください。
- 遅れ
- apply_async
- リトライ
- 申し込み
- AsyncResult
- サブタスク
これは、これらのメソッドをクラスで直接呼び出すことはできないが、最初にタスクをインスタンス化する必要があることも意味します。
>>> MyTask.delay() # NO LONGER WORKS
>>> MyTask().delay() # WORKS!
タスク属性
タスクの属性:
queue
exchange
exchange_type
routing_key
delivery_mode
priority
は非推奨であり、代わりに:setting: `task_routes` で設定する必要があります。
削除するモジュール
celery.execute
このモジュールには
send_task
のみが含まれています。代わりに@send_task
に置き換える必要があります。celery.decorators
互換タスクモジュールを参照してください
celery.log
代わりに
@log
を使用してください。celery.messaging
代わりに
@amqp
を使用してください。celery.registry
代わりに
celery.app.registry
を使用してください。celery.task.control
代わりに
@control
を使用してください。celery.task.schedules
代わりに
celery.schedules
を使用してください。celery.task.chords
代わりに
celery.chord()
を使用してください。
設定
BROKER設定
設定名 | と置換する |
---|---|
BROKER_HOST
|
:setting: `broker_url` |
BROKER_PORT
|
:setting: `broker_url` |
BROKER_USER
|
:setting: `broker_url` |
BROKER_PASSWORD
|
:setting: `broker_url` |
BROKER_VHOST
|
:setting: `broker_url` |
REDIS結果のバックエンド設定
設定名 | と置換する |
---|---|
CELERY_REDIS_HOST
|
:setting: `result_backend` |
CELERY_REDIS_PORT
|
:setting: `result_backend` |
CELERY_REDIS_DB
|
:setting: `result_backend` |
CELERY_REDIS_PASSWORD
|
:setting: `result_backend` |
REDIS_HOST
|
:setting: `result_backend` |
REDIS_PORT
|
:setting: `result_backend` |
REDIS_DB
|
:setting: `result_backend` |
REDIS_PASSWORD
|
:setting: `result_backend` |
Task_sentシグナル
:signal: `task_sent` シグナルはバージョン4.0で削除されます。 代わりに、:signal: `before_task_publish` および:signal:` after_task_publish` シグナルを使用してください。
結果
適用先:AsyncResult
、EagerResult
:
Result.wait()
->Result.get()
Result.task_id()
->Result.id
Result.status
->Result.state
。
バージョン2.0の削除
- 次の設定は削除されます。
設定名 | と置換する |
---|---|
CELERY_AMQP_CONSUMER_QUEUES | task_queues |
CELERY_AMQP_CONSUMER_QUEUES | task_queues |
CELERY_AMQP_EXCHANGE | task_default_exchange |
CELERY_AMQP_EXCHANGE_TYPE | task_default_exchange_type |
CELERY_AMQP_CONSUMER_ROUTING_KEY | task_queues |
CELERY_AMQP_PUBLISHER_ROUTING_KEY | task_default_routing_key |
クラス名のない
CELERY_LOADER
定義。たとえば、 celery.loaders.default には、クラス名 celery.loaders.default.Loader を含める必要があります。
TaskSet.run()
。celery.task.base.TaskSet.apply_async()
を使用する代わりは。