Celery 2.5の変更履歴—Pythonドキュメント
セロリ2.5の変更履歴
このドキュメントには、2.5.xシリーズのバグ修正リリースの変更点が含まれています。Celery2.5の新機能の概要については、 Celery2.5の新機能を参照してください。
2.5より前のバージョンをお探しの場合は、リリースの History にアクセスしてください。
2.5.5
- 発売日
- 2012-06-06 04:00 pm BST
- リリースバイ
- ソレムに聞く
これは、次の目標のために実行されるダミーリリースです。
- 昆布2.2.0への強制アップグレードから保護します
- :pypi: `django-celery` とのバージョンパリティ
2.5.3
- 発売日
- 2012-04-16 07:00 pm BST
- リリースバイ
- ソレムに聞く
- :setting: `CELERY_ENABLE_UTC` が有効になっていない場合でも、バグによりメッセージがUTCタイムスタンプで送信されます(問題#636)。
celerybeat
:エントリの引数がNoneに設定されている場合にクラッシュしなくなりました(問題#657)。- モジュールの
__file__
属性がモジュール.pyc
ファイルに設定されている場合、自動リロードは機能しませんでした。 (問題#647)。 __package__
が存在しない初期の2.5互換性を修正しました(問題#638)。
2.5.2
- 発売日
- 2012-04-13 04:30 pm GMT
- リリースバイ
- ソレムに聞く
ニュース
現在、昆布2.1.5に依存しています。
DjangoのドキュメントはメインのCeleryドキュメントに移動されました。
Django を参照してください。
新しい:signal: `celeryd_init` シグナルを使用して、ホスト名でワーカーを構成できます。
Signal.connectをデコレータとして使用できるようになりました。
例:
from celery.signals import task_sent @task_sent.connect def on_task_sent(**kwargs): print('sent task: %r' % (kwargs,))
無効なタスクメッセージは、確認応答ではなく拒否されるようになりました。
これは、最新のRabbitMQバージョンで導入された配信不能キューに移動されることを意味します(ただし、手動で有効にする必要があります。RabbitMQのドキュメントを参照してください)。
Sentryなどのツールでより適切に機能するように、内部ロギング呼び出しがクリーンアップされました。
DavidCramerによる寄稿。
新しいメソッド
subtask.clone()
を使用して、引数/オプションを拡張した既存のサブタスクのクローンを作成できます。例:
>>> s = add.subtask((5,)) >>> new = s.clone(args=(10,), countdown=5}) >>> new.args (10, 5) >>> new.options {'countdown': 5}
コードコールバックがイーガーモードでトリガーされるようになりました。
修正
プログラムは、pidfileが実際に正しく書き込まれていることを確認するようになりました(問題#641)。
うまくいけば、システムが完全なpidfileを格納するスペースが不足している場合、これによりワーカーがすぐにクラッシュします。
さらに、既存のpidfileに新しい行が含まれていることを確認して、以前と同様に、部分的に書き込まれたpidfileが壊れていると検出されるようにします。
$ echo -n "1" > celeryd.pid
ワーカーは、既存のインスタンスがすでに実行されていると見なします(initには結局pid 1があります)。
print_exceptionの使用に関する2.5の互換性の問題を修正しました。
MartinMelinによる修正。
インポートに関する2.5の互換性の問題を修正しました。
IuriiKriachkoによって提供された修正。
すべてのプログラムは、メインとして呼び出されたときに
__package__
を修正するようになりました。これにより、Python2.5との互換性が修正されます。
MartinMelinによる修正。
[celery control | inspect]をコマンドラインで設定できるようになりました。
ワーカーと同様に、セロリ制御|検査のコマンドラインでセロリ設定を構成できるようになりました。
$ celery inspect -- broker.pool_limit=30
:pypi: `python-dateutil` のバージョン依存関係が厳密に修正されました。
ThomasMesonによる修正。
Task.__call__
は、タスククラスの作成時ではなく、タスクトレーサーで最適化されるようになりました。これにより、カスタム__call__が不思議に消えてしまうバグが修正されます。
自動リロードの
inotify
サポートが改善されました。MherMovsisyanによる寄稿。
Djangoブローカーのドキュメントが改善されました。
ルーティングユーザーガイドの上部にある紛らわしい警告を削除しました。
2.5.1
- 発売日
- 2012-03-01 01:00 pm GMT
- リリースバイ
- ソレムに聞く
修正
- イベントレット/イベント:イベントレット/イベントが使用されたときに小さなタイプミスが原因でワーカーがハングしました。これは、環境にモンキーパッチが十分に早く適用されていなかったためです。
- イベントレット/イベント:別の小さなタイプミスにより、メディエーターがイベントレット/イベントで開始され、ワーカーがシャットダウン時にハングすることがありました。
multiprocessing
:プールが適切に開始される前に停止された場合に発生するエラーを修正しました。- プロキシオブジェクトが
__doc__
と__name__
をリダイレクトするようになったため、help(obj)
が機能します。 - 内部タイマー(timer2)は、例外を飲み込む代わりにログに記録するようになりました(問題#626)。
- セロリシェル:
--eventlet
または--gevent
オプションで開始して、モンキーパッチを適用できるようになりました。
2.5.0
- 発売日
- 2012-02-24 04:00 pm GMT
- リリースバイ
- ソレムに聞く
Celery 2.5 の新機能を参照してください。
変更ログのサイズがかなり大きくなったため、今回は別の方法で行うことにしました。メジャーバージョンの変更に対して個別の「新機能」ドキュメントを用意することです。
バグ修正リリースは引き続き変更ログにあります。