セロリ非推奨のタイムライン—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!
タスク属性
タスクの属性:
queueexchangeexchange_typerouting_keydelivery_modepriority
は非推奨であり、代わりに: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.idResult.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()を使用する代わりは。