変更履歴—Pythonドキュメント

提供:Dev Guides
Celery/docs/latest/history/changelog-3.1
移動先:案内検索

変更履歴

このドキュメントには、3.1.xシリーズ(Cipater)のバグ修正リリースの変更点が含まれています。Celery3.1の新機能の概要については、 Celery 3.1(Cipater)の新機能を参照してください。

3.1.26

発売日
2018-23-03 16:00 PM IST
リリースバイ
オメル・カッツ
  • Celery3とCelery4のワーカー間でタスクが循環することによって発生するクラッシュを修正しました。


3.1.25

発売日
2016-10-10 12:00 PM PDT
リリースバイ
ソレムに聞く
  • 要件

    • 昆布3.0.37 に依存するようになりました


  • 3.1.24で導入されたグループ内のコードの問題を修正しました(問題#3504)。


3.1.24

発売日
2016-09-30 04:21 PM PDT
リリースバイ
ソレムに聞く
  • 要件

    • 昆布3.0.36 に依存するようになりました。


  • 将来の4.0リリースからタスクプロトコル2をサポートするようになりました。

    3.1.24を実行しているワーカーは、Celery4.0で導入される新しいタスクメッセージプロトコルを使用して送信されたメッセージを処理できるようになりました。

    これがリリースされたときにCelery4.0にアップグレードするユーザーは、中間ステップとしてこのバージョンにアップグレードすることをお勧めします。これは、まだアップグレードされていないワーカーが4.0を実行しているクライアント/ワーカーからのメッセージを処理できることを意味します。

  • Task.send_eventsを設定して、そのタスクのみのイベントの送信を無効にできるようになりました。

    タスクを定義するときの例:

    @app.task(send_events=False)
    def add(x, y):
        return x + y
  • Utils :最近の:pypi: `psutil` バージョンとの互換性を修正しました(問題#3262)。

  • Canvas :Chordは部分的な引数をサブタスクに転送するようになりました。

    TayfunSenによって提供された修正。

  • Appbackendbrokerなどのアプリへの引数が選択され、Windowsの子プロセスに送信されるようになりました。

    JeremyZafranによって提供された修正。

  • Deployment :汎用initスクリプトが、ランレベルディレクトリでのシンボリックリンクをサポートするようになりました(問題#3208)。

  • デプロイメント:CentOS7で動作するようにCentOSスクリプトを更新しました。

    JoeSanfordによる寄稿。

  • Events :タスクの結果が空のときにcursesモニターがクラッシュしなくなりました。

    Dongweimingによって提供された修正。

  • Workerrepr(worker)は、起動プロセスの早い段階で呼び出されるとクラッシュしていました(問題#2514)。

  • タスク:GroupResultが__bool__と__nonzero__を定義するようになりました。

    これは、結果リストが空のResultSetまたはGroupResultが、親結果である場合にas_tuple()メソッドで適切にタプルされない問題を修正するためです。 これは、as_tuple()メソッドがResultSetに対して論理演算を実行するためです。

    ColinMcIntoshによって提供された修正。

  • Worker :オートスケール関連のログメッセージの誤った値を修正しました。

    @raduccによって提供された修正。

  • によるドキュメントの改善

    • アレクサンドルチリラ

    • マイケルアクイリナ

    • MikkoEkström

    • ミッチェルハンファリー

    • トーマスA。 ニール

    • ティアゴモレイラビエイラ

    • Yuriy Syrovetskiy

    • @dessant



3.1.23

発売日
2016-03-09 06:00 PM PST
リリースバイ
ソレムに聞く
  • プログラム:前回のリリースでは、セロリマルチおよびセロリワーカー--detach--hostnmame引数のサポートが解除されました(問題#3103)。
  • 結果:URLを使用して構成されていない場合、MongoDB結果バックエンドが起動時にワーカーをクラッシュさせる可能性がありました。


3.1.22

発売日
2016-03-07 01:30 PM PST
リリースバイ
ソレムに聞く
  • プログラム:一部の結果バックエンドを使用すると、backend.as_uri()で起動するとすぐにワーカーがクラッシュしていました(問題#3094)。
  • プログラムcelery multi / celery worker --detach は、リテラル形式を含む無関係なログファイルを作成します(例: ファイル名の%I)(問題#3096)。


3.1.21

発売日
2016-03-04 11:16 am PST
リリースバイ
ソレムに聞く
  • 要件

    • 昆布3.0.34 に依存するようになりました。

    • 現在、billiard 3.3.0.23に依存しています。


  • プリフォークプール:Linux epoll での100%CPUループを修正しました(問題#1845)。

    また、潜在的な修正:問題#2142、問題#2606

  • プリフォークプール:プロセスの終了に関連するメモリリークを修正しました(問題#2927)。

  • Worker :MongoDBおよびキャッシュ結果のバックエンドURLでパスワードを検閲しようとすると、起動時にクラッシュする問題を修正しました(問題#3079、問題#3045、問題#3049、問題#3068、問題#3073)。

    MaximeVergerによって提供された修正。

  • タスク:カウントダウン/有効期限が-2147483648未満の場合に例外が発生するようになりました(問題#3078)。

  • プログラムセロリシェル--ipython は、新しい:pypi: `IPython` バージョンと互換性があります。

  • プログラム:inspect / controlによって発行されるDuplicateNodeName警告に、返されるノード名のリストが含まれるようになりました。

    SebastianKalinowskiによる寄稿。

  • UtilsLimitedSet.discard(item)メソッドは、実際にはアイテムを削除しませんでした(問題#3087)。

    DaveSmithによる修正。

  • Worker :ノード名のフォーマットで、フォーマットキーが一致しない場合に混乱の少ないエラーメッセージが表示されるようになりました(問題#3016)。

  • 結果:RPC / AMQPバックエンド:JSON例外の逆シリアル化を修正しました(問題#2518)。

    AllardHoeveによる修正。

  • プリフォークプール:プロセスインキューが破損しましたエラーメッセージに、発生した元の例外が含まれるようになりました。

  • ドキュメント:以下による改善が含まれています:

    • ジェフ・ウィドマン。



3.1.20

発売日
2016-01-22 06:50 pm UTC
リリースバイ
ソレムに聞く
  • 要件

    • 昆布3.0.33 に依存するようになりました。

    • 現在、billiard 3.3.0.22に依存しています。

      Microsoft Windows x86およびx86_64用のバイナリホイールが含まれています!


  • タスク:エラーメールでデフォルトでutf-8文字セットが使用されるようになりました(問題#2737)。

  • タスク:再試行により、元のメッセージヘッダーが転送されるようになりました(問題#3017)。

  • Worker :ブートステップがon_node_join / leave / lostにフックできるようになりました。

    例については、属性を参照してください。

  • イベント:DSTタイムゾーンの処理を修正しました(問題#2983)。

  • 結果:Redisバックエンドは特定の設定を尊重しなくなりました。

    JeremyLlewellynによる寄稿。

  • 結果:データベースバックエンドがJSON例外を適切にサポートするようになりました(問題#2441)。

  • 結果:Redis new_joinは、コードエラー時にタスクのエラーバックを適切に呼び出さなかった(問題#2796)。

  • 結果 :PythonとのRedisの互換性を復元します :pypi: `redis` <2.10.0(問題#2903)。

  • 結果:コードエラー処理に関するまれな問題を修正しました(問題#2409)。

  • タスク:setting: `CELERY_ROUTES` でキュー名の値を使用することが再び機能するようになりました(問題#2987)。

  • 一般:結果のバックエンドパスワードがレポート出力でサニタイズされるようになりました(問題#2812、問題#2004)。

  • 構成:結果のバックエンド構成がクラスではなくモジュールを指している場合に役立つエラーメッセージが表示されるようになりました(問題#2945)。

  • 結果:JSONシリアル化されたワーカーによって送信された例外は、pickleで構成されたワーカーによって適切に処理されるようになりました。

  • プログラムcelery control autoscaleが機能するようになりました(問題#2950)。

  • プログラムcelery beat --detachedは、フォークコールバックの後に実行されるようになりました。

  • 一般:Python 3.5でのLRUキャッシュ実装の修正(問題#2897)。

    DennisBrakhaneによる寄稿。

    Python3.5のOrderedDictは、反復されている間はミューテーションを許可しません。 これは、最大サイズよりも大きいdictで呼び出された場合、「更新」を中断します。

    このコミットにより、コードがdictを反復処理しないバージョンに変更され、少し高速になるはずです。

  • Init-scripts :beat init-scriptは、pidファイルが見つからない場合にサービスがダウンしていると正しく報告するようになりました。

    エリック・ザロニー

  • Beat :一部のストレージバックエンドエラーの破損したスケジューラファイルのクリーニングを追加しました(問題#2985)。

    AleksandrKuznetsovによって提供された修正。

  • Beat :スケジュールが空の場合でも、スケジュールを同期するようになりました。

    ColinMcIntoshによって提供された修正。

  • Supervisord:pypi: `supervisord` でより高いプロセス優先度を設定します

    例。

    GeorgeTantirasによる寄稿。

  • ドキュメント:以下による改善が含まれています:

    :github_user: `Bryson` Caleb Mingle Christopher Martin Dieter Adriaenssens Jason Veatch Jeremy Cline Juan Rossi Kevin Harvey Kevin McCarthy Kirill Pavlov Marco Buttu :github_user:` Mayflower` Mher Movsisyan Michael F ]:github_user: `michael-k` Nathaniel Varona Rudy Attias Ryan Luckie Steven Parker :github_user:` squfrans` TadejJanežTakesxiSximadaTomS


3.1.19

発売日
2015-10-26 01:00 pm UTC
リリースバイ
ソレムに聞く
  • 要件

    • 昆布3.0.29 に依存するようになりました。

    • 現在、billiard 3.3.0.21に依存しています。


  • 結果:MongoDB結果のバックエンドURL解析の問題を修正しました(celery / kombu#375を発行)。

  • Worker :タスクリクエストがdelivery_infoにpriorityを正しく設定するようになりました。

    GeraldManiponによって提供された修正。

  • Beat :キーを設定するときにPyPyシェルフがKeyErrorを上げることがあります(問題#2862)。

  • プログラムセロリビート--deatched がPyPyで動作するようになりました。

    KrzysztofBujniewiczによって提供された修正。

  • 結果:Redis結果バックエンドにより、すべてのパイプラインが確実にクリーンアップされるようになりました。

    JustinPatrinによる寄稿。

  • 結果:Redis結果バックエンドで、結果バックエンドURLのクエリ部分にタイムアウトを設定できるようになりました。

    例:CELERY_RESULT_BACKEND = 'redis://?timeout=10'

    JustinPatrinによる寄稿。

  • 結果result.getは、例外値がNoneに設定されている障害を適切に処理するようになりました(問題#2560)。

  • プリフォークプール:属性エラーproc.deadを修正しました。

  • Worker :ゴシップ/ハートビートが無効になっているときにワーカーがハングする問題を修正しました(問題#1847)。

    アーロンウェバーとブライアンヘルミグによって提供された修正。

  • 結果:MongoDB結果バックエンドがpymongo 3.xをサポートするようになりました(問題#2744)。

    SukritKheraによって提供された修正。

  • 結果:RPC / AMQPバックエンドが例外を適切に逆シリアル化しませんでした(問題#2691)。

    SukritKheraによって提供された修正。

  • プログラムcelery amqpbasic_publishの問題を修正しました(問題#2013)。

  • Worker :埋め込みビートがアプリをスレッド/プロセスに適切に設定するようになりました(問題#2594)。

  • ドキュメント:多くの改善とタイプミスが修正されました。

    貢献者:

    カルロスガルシア-デュバスD。 Yu :github_user: `jerry` Jocelyn Delalande Josh Kupershmidt Juan Rossi :github_user:` kanemra` Paul Pearce Pavel Savchenko Sean Wang Seungha Kim Zhaorong Ma


3.1.18

発売日
2015-04-22 05:30 pm UTC
リリースバイ
ソレムに聞く
  • 要件

    • 昆布3.0.25 に依存するようになりました。

    • 現在、billiard 3.3.0.20に依存しています。


  • Django :Django 1.8をサポートするようになりました(問題#2536)。

    BenceTamasとMickaëlPenhardによって提供された修正。

  • 結果:MongoDB結果バックエンドがpymongo3.0と互換性を持つようになりました。

    FatihSucuによって提供された修正。

  • タスク:タスクに複数のコールバックがある場合にのみ発生するバグを修正しました(問題#2515)。

    NotSqrtによって提供された修正。

  • コマンド:プリロードオプションで--arg value構文がサポートされるようになりました。

    JohnAndersonによる修正。

  • Compat :タイプミスによりcelery.log.setup_logging_subsystemが未定義になりました。

    Gunnlaugur ThorBriemによる修正。

  • init-scripts :ビートジェネリックinit-scriptは、 bash の代わりに/bin/shを使用するようになりました(問題#2496)。

    JelleVerstraatenによって提供された修正。

  • Django :モデルの検証時にロギングで発生することがあるTypeErrorを修正しました。

    アレクサンダーによって提供された修正。

  • コマンド:ワーカーは、celery worker --detachで使用できる新しい--executable引数をサポートするようになりました。

    BertVanderbauwhedeによる寄稿。

  • Canvas :コードロック解除フォールバックタスクのクラッシュを修正しました(問題#2404)。

  • Worker--autoscaleを有効にした場合に発生するまれなクラッシュを修正しました(問題#2411)。

  • Django :Django CONN_MAX_AGE設定が有効になっている場合、ワーカーDjangoデータベース接続を適切にリサイクルします(問題#2453)。

    LukeBurdenによる修正。


3.1.17

発売日
2014-11-19 03:30 pm UTC
リリースバイ
ソレムに聞く

CELERYD_FORCE_EXECV 設定を有効にしないでください!

RabbitMQまたはRedisトランスポートを使用している場合は、構成を確認し、このオプションを無効にしてください。

3.1以降このオプションを有効にしておくと、非同期ベースのプリフォークプールが無効になり、不安定になる可能性があります。


  • 要件

    • 昆布3.0.24 に依存するようになりました。

      Celery 3.2で提供される新しいQpidトランスポートが含まれ、Python2.6との互換性がまだ必要な場合をサポートするためにバックポートされています。

    • 現在、billiard 3.3.0.19に依存しています。

    • celery[librabbitmq]はlibrabbitmq1.6.1に依存するようになりました。


  • タスク:Pythonドキュメントの例LocalTimezoneの実装がPython3.4で機能しなくなった後、ETA /カウントダウンタスクのタイミングがオフになりました。 (問題#2306)。

  • タスクIgnoreを発生させると、task-failedイベントが送信されなくなりました(問題#2365)。

  • Redis結果バックエンド:バインドされていないローカルエラーを修正しました。

    ThomasFrenchによる修正。

  • タスクlinkが署名のリストである場合、コールバックが正しく呼び出されませんでした(問題#2350)。

  • Canvas :チェーンとグループがjsonシリアル化された署名を処理するようになりました(問題#2076)。

  • 結果.join_native()は、誤ってSTARTED状態を準備完了として処理していました(問題#2326)。

    これにより、:setting: `CELERY_TRACK_STARTED` 設定が有効になっているコードを使用すると、コードコールバックが無効な引数で呼び出される可能性があります。

  • Canvaschord_size属性がすべてのキャンバスプリミティブに設定されるようになり、Redisのnew_join最適化でより多くの組み合わせが機能するようになりました(問題#2339)。

  • タスク:すべての場合にアプリがtrace_taskに適切に伝播されない問題を修正しました。

    :github_user: `kristaps` によって提供された修正。

  • Worker :タイムゾーンに関連付けられたタスクメッセージから期限切れになります。

    AlbertWangによる修正。

  • Cassandra結果バックエンド:詳細モードを使用する際の問題を修正しました。

    Cassandraバックエンドを詳細モードで使用すると、結果を取得しようとしたときにリグレッションによってエラーが発生しました。

    GinoLedesmaによって提供された修正。

  • Mongodb結果バックエンド:バックエンドインスタンスをpickle化すると、元のURLが含まれるようになります(問題#2347)。

    SukritKheraによって提供された修正。

  • タスクRejectを発生させるタスクの例外情報が適切に設定されていませんでした(問題#2043)。

  • Worker :取り消されたタスクのセットをワーカー状態データベースからロードするときに、重複が削除されるようになりました(問題#2336)。

  • celery.contrib.rdbrdb.set_traceが間違ったフレームから停止を呼び出す問題を修正しました。

    :github_user: `llllllllll` によって提供された修正。

  • Canvaschainchordを不変にできるようになりました。

  • Canvaschord.apply_asyncは、self.argsで設定された部分引数を保持するようになりました(問題#2299)。

  • Results :すべての結果バックエンドで結果が同じ方法でデコードされるように小さなリファクタリング。

  • LoggingprocessName形式はPython2.6.2で導入されたため、互換性のために、以前のバージョンを使用する場合、この形式は除外されるようになりました(問題#1644)。


3.1.16

発売日
2014-10-03 06:00 pm UTC
リリースバイ
ソレムに聞く
  • Worker :3.1.15が-Ofairの動作を壊しました(問題#2286)。

    -Ofairが有効になっている場合、このリグレッションにより、すべてのタスクが単一の子プロセスで実行される可能性があります。

  • Canvascelery.signatureは、すべての場合にアプリの引数を適切に転送するようになりました。

  • タスク.retry()は、現在の例外なしで呼び出されたときに、例外を正しく発生させませんでした。

    AndreaRabbagliettiによる修正。

  • Workerenable_eventsリモートコントロールコマンドが誤ってワーカー関連のイベントを無効にしました(問題#2272)。

    KonstantinosKoukopoulosによる修正。

  • Djangoapp.autodiscover_tasks()を使用する場合のINSTALLED_APPSでのDjango1.7クラス名のサポートを追加します(問題#2248)。

  • Sphinxcelery.contrib.sphinxはPython3でgetfullargspecを使用するようになりました(問題#2302)。

  • Redis / Cacheバックエンド:コード内の1つ以上のタスクが何らかの理由で複数回実行された場合、コードは最大で1回実行されるようになりました。


3.1.15

発売日
2014-09-14 11:00 pm UTC
リリースバイ
ソレムに聞く
  • Django :タスクモジュールをインポートする前にdjango.setup()が呼び出されるようになりました(Django 1.7互換性、問題#2227)
  • 結果result.get()finally呼び出しでbackend.get_task_metaを呼び出すことにより誤動作し、AMQP結果バックエンドキューが適切にクリーンアップされませんでした(問題#2245)。


3.1.14

発売日
2014-09-08 03:00 pm UTC
リリースバイ
ソレムに聞く
  • 要件

    • 昆布3.0.22 に依存するようになりました。


  • Init-scripts :汎用ワーカーのinit-scripts statusコマンドが正確なpidfileリストを取得するようになりました(問題#1942)。

  • Init-scripts :汎用ビートスクリプトがstatusを実装するようになりました

    指図。

    JohnWhitlockによる寄稿。

  • コマンド:Multiは、情報出力をstderrではなくstdoutに書き込むようになりました。

  • Workerpool.restartの実装されていないエラーを無視するようになりました(問題#2153)。

  • タスク:イーガーモードで実行したときに再試行によって再試行例外が発生しなくなりました(問題#2164)。

  • AMQP結果バックエンド:親エラーを適切に伝播するための呼び出しをブロックするために、on_intervalが少なくとも毎秒呼び出されるようになりました。

  • Django :Windows上のDjango 1.7との互換性(問題#2126)。

  • プログラム--umask引数は、8進数(0から始まる場合)または10進数の両方で指定できるようになりました。


3.1.13

セキュリティ修正

  • [セキュリティ: CELERYSA-0002 ]安全でないデフォルトのumask。

    Celeryワーカーサービスをデーモン化するために使用される組み込みユーティリティは、デフォルトで安全でないumask(umask 0)を設定します。

    つまり、ワーカーによって作成されたファイルまたはディレクトリには、誰でも書き込み可能なアクセス許可が付与されます。

    問題を最初に発見して報告してくれたRedHatに特に感謝します!

    このバージョンでは、デフォルトでデフォルトのumaskが設定されなくなったため、設定を解除すると、親プロセスのumaskが使用されます。


ニュース

  • 要件

    • 昆布3.0.21 に依存するようになりました。

    • 現在、billiard 3.3.0.18に依存しています。


  • Appbackend引数は、:setting: `CELERY_RESULT_BACKEND` 設定も設定するようになりました。

  • タスクsignature_from_requestreply_toを伝播するようになり、RPCバックエンドが再試行されたタスクで機能するようになりました(問題#2113)。

  • タスクretryは、再試行メッセージの送信が失敗した場合に、タスクの再キューイングを試行しなくなりました。

    関係のない例外が発生するとメッセージループが発生する可能性があるため、この動作を削除することをお勧めします。

  • Beat :常に0.010秒早くウェイクアップすることにより、標準の1ミリ秒のドリフトを考慮します。

    これにより、待ち時間が調整され、定期的なタスクがすべての呼び出しの1ミリ秒後に移動しないようになります。

  • ドキュメントの修正

    Yuval Greenfield、Lucas Wiman、:github_user: `nicholsonjf` による寄稿。

  • Worker :エラーがマスクされる可能性のある古いassertステートメントを削除しました(問題#2086)。


3.1.12

発売日
2014-06-09 10:12 pm UTC
リリースバイ
ソレムに聞く
  • 要件

    昆布3.0.19 に依存するようになりました。

  • アプリ:フォーク後ハンドラーのエラーが原因で、フォーク後に接続が閉じられませんでした(問題#2055)。

    これは、RabbitMQの使用時にフレーミングエラーを引き起こすことで明らかになる可能性があります。 (Unexpected frame)。

  • Djangodjango.setup()は、Django 1.7を使用しているときに呼び出されるのが遅すぎました(問題#1802)。

  • Django :Djangoを使用する際のイベントタイムゾーンの問題を修正しました(Substantial drift)。

    セロリは、Djangoがtime.timeoneの属性と友達を変更することを考慮していませんでした。

  • CanvasSignature.linkは、リンクオプションがスカラー値の場合に機能するようになりました(問題#2019)。

  • プリフォークプール:ファイル記述子がイベントループから削除されるときの競合状態を修正しました。

    RogerHuによって提供された修正。

  • プリフォークプール:子プロセス間でタスクを分割するための改善されたソリューション。

    この変更により、子プロセスが多数ある場合のパフォーマンスが向上し、後続の2つのタスクが同じ子プロセスに書き込まれる可能性も低くなります。

  • Worker :クラッシュするのではなく、不明なイベントタイプを無視するようになりました。

    IllesSoltによって提供された修正。

  • プログラムcelery worker --detach は、 C_FAKEFORKが使用されている場合に、開いているファイル記述子を閉じなくなり、ワーカーの出力を確認できるようになりました。

  • Programscelery worker --detach のデフォルトの作業ディレクトリは、/ではなく、現在の作業ディレクトリになりました。

  • Canvasappキーワード引数が使用された場合、signature(s, app=app)はシリアル化された署名を元のクラス(subtask_type)にアップグレードしませんでした。

  • Control :制御コマンドによって発行されるduplicate nodename警告に、重複するノード名が表示されるようになりました。

  • タスク:メンバーなしの結果セットでResultSet.get()を呼び出すことができるようになりました。

    AlexeyKotlyarovによる修正。

  • アプリapp.connection_or_acquireの奇妙なトレースバックマングリングの問題を修正しました。

  • プログラムcelery multi stopwait コマンドの使用法が文書化されました。

  • その他:Promiseの評価中にエラーが発生した場合のPromiseProxyのクリーンアップの問題を修正しました。

  • その他:構成値の検閲に使用されるユーティリティが非文字列キーを処理するようになりました。

    LukePomfreyによって提供された修正。

  • その他inspect confコマンドは文字列以外のキーを適切に処理しませんでした。

    JayFarrimondによる修正。

  • プログラムセロリワーカー--detach の引数処理の問題を修正しました。

    DmitryMalinovskyによって提供された修正。

  • プログラムセロリワーカー--detach は作業ディレクトリオプションを転送しませんでした(問題#2003)。

  • プログラム登録済みのセロリ検査には、組み込みタスクのリストが含まれなくなりました。

  • Worker :ブートステップのrequires属性が正しく処理されていませんでした(問題#2002)。

  • Eventlet :イベントレットプールは、pool_growおよびpool_shrinkリモートコントロールコマンドをサポートするようになりました。

    MherMovsisyanによる寄稿。

  • Eventlet :イベントレットプールは、:program:celery inspect statsの統計を実装するようになりました。

    MherMovsisyanによる寄稿。

  • ドキュメントTask.rate_limitの動作を明確にしました。

    JonasHaagによる寄稿。

  • ドキュメントAbortableTaskの例が更新され、新しいAPIを使用できるようになりました(問題#1993)。

  • ドキュメント:セキュリティドキュメントの例では、古いインポートを使用していました。

    IanDeesによって提供された修正。

  • Init-scripts :CentOSのinit-scriptsは CELERY_CHDIRを引用していませんでした。

    :github_user: `ffeast` によって提供された修正。


3.1.11

発売日
2014-04-16 11:00 pm UTC
リリースバイ
ソレムに聞く
  • RabbitMQ3.3.0と互換性があります

    RabbitMQ 3.3を使用する場合は、Celery 3.1.11以降を実行する必要があります。また、librabbitmqモジュールを使用する場合は、librabbitmq1.5.0にアップグレードする必要があります。

    $ pip install -U librabbitmq
  • 要件

    • 昆布3.0.15 に依存するようになりました。

    • 現在、ビリヤード3.3.0.17 に依存しています。

    • バンドルcelery[librabbitmq]librabbitmq 1.5.0に依存するようになりました。


  • タスク:setting: `CELERY_DEFAULT_DELIVERY_MODE` 設定は無視されていました(問題#1953)。

  • Worker :新しいcelery worker --heartbeat-intervalを使用して、イベントハートビートを送信する間隔(秒単位)を変更できます。

    MatthewDugganとCraigNorthwayによる寄稿。

  • App :一時的なアプリインスタンスを多数作成するときに発生するメモリリークを修正しました(問題#1949)。

  • MongoDB :非MongoDBトランスポートを使用したSSL構成は、MongoDB結果バックエンドを破壊します(問題#1973)。

    BrianBouterseによる修正。

  • ロギング:カラーフォーマッタが誤ってrecord.msgを変更しました(問題#1939)。

  • 結果:タスクトレイルが複数回保存され、result.collect()がハングする問題を修正しました(問題#1936、問題#1943)。

  • 結果ResultSetは、AsyncResultとの互換性のために.backend属性を実装するようになりました。

  • 結果.forget()もローカルキャッシュをクリアするようになりました。

  • 結果result._set_cacheへの複数の呼び出しに関する問題を修正しました(問題#1940)。

  • 結果join_nativeは、無効になっている場合でも結果キャッシュに入力されます。

  • Results :YAML結果シリアライザーが例外の保存を処理できるようになりました。

  • Worker :予想されるエラーのタスクエラーメールを送信しなくなりました(@task(throws=(..., )))内)。

  • Canvas :JSONシリアライザーを使用する場合の例外の逆シリアル化に関する問題を修正しました(問題#1987)。

  • Eventletcelery.contrib.batchesが存在しないタイマーをキャンセルしようとしたときのクラッシュを修正しました(問題#1984)。

  • celery.version_info_tおよびcelery.fiveをインポートできるようになりました(問題#1968)。


3.1.10

発売日
2014-03-22 09:40 pm UTC
リリースバイ
ソレムに聞く
  • 要件

    • 昆布3.0.14 に依存するようになりました。


  • 結果

    SQLAlchemyデータベースバックエンドの信頼性が向上しました。 以前は、MainProcessからの接続がワーカーと不適切に共有されていました。 (問題#1786)

  • Redis:イベントに関する重要な注意事項(問題#1882)。

    モニターが不要なイベントを除外できるようにするRedisの新しいトランスポートオプションがあります。 ワーカーでこのオプションを有効にすると、パフォーマンスが大幅に向上します。

    BROKER_TRANSPORT_OPTIONS = {'fanout_patterns': True}

    このオプションを有効にすると、ワーカーはオプションが無効になっている(または古いバージョンのCeleryを実行している)ワーカーを表示できなくなります。有効にする場合は、すべてのノードで有効にしてください。

    警告を参照してください。

    これはCelery3.2のデフォルトになります。

  • 結果@AsyncResultオブジェクトは、タスクの最終状態のローカルキャッシュを保持するようになりました。

    これは、グローバル結果キャッシュを最終的に無効にできることを意味し、:setting: `CELERY_MAX_CACHED_RESULTS`-1に設定することで無効にできます。 キャッシュの有効期間は、結果オブジェクトの有効期間にバインドされます。これは、Celery3.2のデフォルトの動作になります。

  • イベント:「実質的なドリフト」警告メッセージがノード名ごとに1回だけログに記録されるようになりました(問題#1802)。

  • Worker :プリフォークプールを使用するときに、子プロセスごとに1つのログファイルを使用する機能。

    これは、ログファイル名に新しい%iおよび%I形式指定子を使用することで有効にできます。 プリフォークプールプロセスインデックスを参照してください。

  • Redis :新しい実験的なコード結合の実装。

    これは、Redis結果バックエンドを使用する場合のコードの最適化です。この場合、結合操作は以前の戦略よりも大幅に高速になり、使用するリソースも少なくなります。

    新しいオプションは、結果のバックエンドURLで設定できます。

    CELERY_RESULT_BACKEND = 'redis://localhost?new_join=1'

    これは、ワーカーとそれを使用していないクライアントと互換性がないため、手動で有効にする必要があります。したがって、使用する場合は、すべてのクライアントとワーカーでこのオプションを必ず有効にしてください。

  • Multi-opt:index-c:1など)を使用すると、インデックスは常に引数リスト内のノードの位置を参照するようになりました。

    これは、番号の範囲だけでなく、ノード名のリストを指定するときに、番号の参照が機能することを意味します。

    celery multi start A B C D -c:1 4 -c:2-4 8

    この例では、1はノードAを参照しています(リストの最初のノードであるため)。

  • SignalsSignal.connectへの送信者引数をプロキシオブジェクトにできるようになりました。これは、タスクデコレータで使用できることを意味します(問題#1873)。

  • タスク:リグレッションにより、Task.retryへのqueue引数が無視されました(問題#1892)。

  • Appconfig_from_envvar()のエラーメッセージを修正しました。

    DmitryMalinovskyによって提供された修正。

  • Canvas :コードに他のコードのグループを含めることができるようになりました(問題#1921)。

  • Canvas :amqp結果バックエンド(コールバックもコードであるコード)を使用するときにコードを組み合わせることができるようになりました。

  • Canvas :チェーン内のタスクの1つがignore_result=Trueであっても、チェーンタスクのresult.get()の呼び出しが完了するようになりました(問題#1905)。

  • Canvas :ワーカーはコードエラーもログに記録するようになりました。

  • Canvas :例外を発生させるコードタスクにより、コードコールバックへのエラーバック(link_error)も呼び出されるようになりました。

  • 結果:SQLAlchemyデータベースバックエンドの信頼性が向上しました(問題#1786)。

    以前は、MainProcessからの接続が子プロセスによって不適切に継承されていました。

    IonelCristianMărieșによって提供された修正。

  • Task :タスクのコールバックとエラーバックがグループプリミティブを使用して呼び出されるようになりました。

  • タスクTask.applyrequest.headersを正しく設定するようになりました(問題#1874)。

  • Worker :Workerが:pypi: `supervisor` によって起動されたときに発生するUnicodeEncodeErrorを修正しました。

    CodebFanによる修正。

  • Beat :新しく作成されたデータベースファイルのアップグレードを試行しなくなりました(問題#1923)。

  • Beat :新しい設定:setting:CELERYBEAT_SYNC_EVERYを使用して、各同期間で送信するタスクの数を指定することにより、ファイルの同期を制御できます。

    クリスクラークによる寄稿。

  • コマンドpsutilモジュールがインストールされていない場合、 celery inspect memdump がクラッシュしなくなりました(問題#1914)。

  • Worker :リモートコントロールコマンドが常にjsonシリアル化メッセージを受け入れるようになりました(問題#1870)。

  • Worker :Gossipは、誤って受け取ったタスク関連のイベントをすべてドロップするようになりました(問題#1882)。


3.1.9

発売日
2014-02-10 06:43 pm UTC
リリースバイ
ソレムに聞く
  • 要件

    • 昆布3.0.12 に依存するようになりました。


  • プリフォークプール:既存の子プロセスの処理が改善されました。

    IonelCristianMărieșによって提供された修正。

  • プリフォークプール:プロセスがクリーンアップされたときに、すべてのファイル記述子がハブから削除されるようになりました。

    IonelCristianMărieșによって提供された修正。

  • 新しいSphinx拡張機能:タスクのautodocドキュメント用:celery.contrib.spinx(問題#1833)。

  • Django :Django1.7a1で動作するようになりました。

  • Task :Task.backendは、タスクにカスタムバックエンドが指定されていない場合にapp.backendに転送するプロパティになりました(問題#1821)。

  • 一般的なinit-scripts :停止コマンドのバグを修正しました。

    RinatShigapovによって提供された修正。

  • Generic init-scripts :GNU stat との互換性を修正しました。

    PaulKilgoによって提供された修正。

  • Generic init-scripts :最小限の dash シェルとの互換性を修正しました(問題#1815)。

  • コマンドcelery amqp basic.publish コマンドが正しく機能していませんでした。

    アンドレイ・ヴォロノフによる修正。

  • コマンド:pidfileが存在し、プロセスがまだ生きている場合にエラーメッセージを出力しなくなりました(問題#1855)。

  • コマンド:オプションをプリロードするための引数が欠落している場合のエラーメッセージが改善されました(問題#1860)。

  • コマンドcelery -h は、引数パーサーのバグのために機能しませんでした(問題#1849)。

  • Worker :メッセージデコードエラーのエラーメッセージを改善しました。

  • Time :ISO8601日付文字列の Z タイムゾーン指定子を適切に解析するようになりました。

    MartinDavidssonによる修正。

  • Workernegotiated ハートビート値を使用して、ハートビートチェックを実行する頻度を計算するようになりました。

  • Beat :最初のスケジュール反復後のビートハングの問題を修正しました(問題#1822)。

    RogerHuによって提供された修正。

  • Signals:signal: `before_task_publish` のヘッダー引数が常に辞書インスタンスになり、シグナルハンドラーがヘッダーを追加できるようになりました。

  • Worker :メッセージヘッダーのリストがメッセージ関連のエラーに含まれるようになりました。


3.1.8

発売日
2014-01-17 10:45 pm UTC
リリースバイ
ソレムに聞く
  • 要件

    • 昆布3.0.10 に依存するようになりました。

    • 現在、ビリヤード3.3.0.14 に依存しています。


  • Worker :コンシューマーの再起動時にイベントループが適切に再初期化されなかったため、Linuxで閉じたepollインスタンスを続行する必要があり、クラッシュが発生しました。

  • イベント:ハートビートとタスクイベントの両方で、データが並べ替えられた順序で保持されない可能性がある問題を修正しました。

    その結果、リモートノードがタイムリーにハートビートを送信していても、これによりワーカーは「ハートビートミス」イベントをログに記録する必要があります。

  • 結果:ピクルスシリアライザーはグループ結果をタプルに変換しなくなり、元のタイプを保持します(問題#1750 )。

  • 結果: ResultSet.iterate is now pending deprecation.

    このメソッドはバージョン3.2で非推奨になり、バージョン3.3で削除されます。

    代わりにresult.get(callback=)(または可能な場合はresult.iter_native())を使用してください。

  • Worker | eventlet / gevent:リグレッションにより、 Control-c がシャットダウンに無効になりました。

  • Redis結果バックエンド:パフォーマンスを向上させるために、パイプラインを使用して状態の変更を保存するようになりました。

    Pepijn deVosによる寄稿。

  • Redis結果バックエンド:切断された場合、結果の保存を再試行するようになりました。

  • Worker | gossip:別のノードが離れるときに発生する属性エラーを修正しました。

    BrodieRaoによる修正。

  • Generic init-scripts:起動時にチェックを実行して、構成スクリプトがrootによって所有されていること、およびワールド/グループで書き込み可能でないことを確認するようになりました。

    init-script構成は、rootによって実行されるシェルスクリプトであるため、これは、ユーザーがこのファイルを特権のないユーザーによる変更に対して脆弱なままにしないようにするための予防策です。

    ノート

    Celeryをアップグレードしてもinit-scriptは更新されないことに注意してください。代わりに、ソースディストリビューションから改善されたバージョンを手動でコピーする必要があります: https://github.com/celery/celery/tree/3.1/extra/generic- init.d

  • コマンドセロリパージコマンドは、操作によってすべてのタスクが削除されることを警告し、ユーザーに確認を求めるようになりました。

    インタラクティブモードを無効にするために使用できる新しい-fが追加されました。

  • タスク.retry()は、エラーコンテキストの外部で呼び出されたときに、exc引数で指定された値を上げませんでした(問題#1755 )。

  • コマンド: celery multi コマンドは、コマンドライン構成をターゲットワーカーに転送しませんでした。

    この変更は、multiが引数行の最後にある特別な--引数と構成コンテンツを指定されたワーカーに転送することを意味します。

    コマンドライン構成を使用して celery multi からブローカーハートビートを設定する例:

    $ celery multi start 1 -c3 -- broker.heartbeat=30

    AntoineLegrandによって提供された修正。

  • キャンバス: chain.apply_async() now properly forwards execution options.

    KonstantinPodshumokによる修正。

  • Redis結果バックエンド:接続プールクラス/コンストラクターの変更に使用できるconnection_pool引数を取るようになりました。

  • Worker:デバッグの重大度で、プールによってログに記録された非常に長い引数とキーワード引数を切り捨てるようになりました。

  • ワーカー:ワーカーは、:sig: `SIGHUP` (リグレッション)(問題#1768 )で開いているすべてのファイルを閉じるようになりました。

    BrodieRaoによる修正

  • ワーカー:ワーカーの起動フェーズが完了していない間は、リモートコントロールコマンドを受け付けなくなりました(問題#1741 )。

  • コマンド:イベントダンプユーティリティの出力( celery events -d )を他のコマンドにパイプできるようになりました。

  • ドキュメント: macOSのRabbitMQインストール手順が更新され、最新のHomebrewプラクティスが使用されるようになりました。

    JonChenによる寄稿。

  • コマンド: celery inspect conf ユーティリティが機能するようになりました。

  • コマンド: --no-color引数は、すべてのコマンドで尊重されていませんでした(問題#1799 )。

  • アプリ: autodiscover_tasks()のまれなバグを修正しました(問題#1797 )。

  • ディストリビューション: sphinxドキュメントは常に親ディレクトリをパスに追加するようになり、現在のCeleryソースコードがAPIドキュメントのベースとして使用されるようになりました(問題#1782 )。

  • ドキュメンテーション: :pypi: `スーパーバイザー` examples contained an extraneous ‘-’ in a --logfile argument example.

    MohammadAlmeerによって提供された修正。


3.1.7

発売日
2013-12-17 06:00 pm UTC
リリースバイ
ソレムに聞く

重要な注意事項

Init-スクリプトのセキュリティの改善

一般的なinit-scripts(celeryd、およびcelerybeatの場合)が、特権をターゲットアプリケーションにドロップする責任を委任する前に、代わりにsuを使用するようになり、 Pythonプログラムは、スーパーユーザー権限で信頼されていません。

これは既知のエクスプロイトへの反応ではありませんが、特権昇格のバグが将来悪用される可能性を制限します。

このディレクトリからinit-scriptsを手動でアップグレードする必要があります: https://github.com/celery/celery/tree/3.1/extra/generic-init.d

AMQP結果バックエンド

3.1リリースでは、amqpバックエンドがデフォルトで非永続的に設定されたままになっています。

3.0からアップグレードすると、タスクの結果を設定または取得しようとすると、「同等ではない」エラーが発生します。 これは、永続性設定を手動で設定しない限り、次のようになります。

CELERY_RESULT_PERSISTENT = True

このバージョンでは以前の値が復元されるため、既存のエクスチェンジを削除してアップグレードを強制した場合は、CELERY_RESULT_PERSISTENT = Falseを設定して構成を維持するか、celeryresultsエクスチェンジを再度削除する必要があります。


同期サブタスク

サブタスクの結果を待機しているタスクは、プリフォークプールを使用するときにRuntimeWarning警告を発するようになりました。これにより、3.2では例外が発生します。

サブタスクを待機してタスクをブロックすることは違法です。これにより、リソースが不足し、プリフォークプールを使用するときに最終的にデッドロックが発生する可能性があります(同期サブタスクの起動を回避するも参照)。

自分が何をしているのかを本当に知っている場合は、ホワイトリストブロックで操作を移動することにより、警告(および発生する将来の例外)を回避できます。

from celery.result import allow_join_result

@app.task
def misbehaving():
    result = other_task.delay()
    with allow_join_result():
        result.get()

また、プリフォークプールを使用するときに何らかの形式でサブタスクの結果を待つ場合は、ワーカー -Ofairオプションを使用してプールのプリフェッチ動作を無効にする必要があることにも注意してください。


修正

  • 昆布3.0.8 に依存するようになりました。

  • billiard 3.3.0.13に依存するようになりました

  • イベント:floatをdecimal.Decimalとして送信する非標準のjsonライブラリとの互換性を修正しました(問題#1731)

  • イベント:ステートワーカーオブジェクトは常に属性を定義するようになりました:activeprocessedloadavgsw_identsw_ver、 [X122X ]。

  • ワーカー:タイプ(all_active_count)だけでなく、処理されたタスクの総数をカウントするようになりました。

  • Init-scripts:init-scriptがランレベル(S02celerydなど)にシンボリックリンクされている場合の構成ファイルの読み取りに関する問題を修正しました。 (問題#1740)。

    これにより、スクリプトをシンボリックリンクして代替構成を提供できる、めったに使用されない機能も削除されました。 代わりに、スクリプトをコピーして新しい名前を付けますが、おそらくより良い解決策は、CELERYD_OPTSに引数を指定してそれらを分離することです。

    CELERYD_NODES="X1 X2 Y1 Y2"
    CELERYD_OPTS="-A:X1 x -A:X2 x -A:Y1 y -A:Y2 y"
  • フォールバックコードロック解除タスクは、コードヘッダーの後に常に呼び出されるようになりました(問題#1700)。

    これは、ヘッダーの送信中にエラーが発生した場合、ロック解除タスクが開始されないことを意味します。

  • セロリコマンド:一部の制御コマンドの引数に関する問題を修正しました。

    KonstantinPodshumokによる修正。

  • utcoffsetで、DST時のオフセットが完全に間違っていたバグを修正しました(問題#1743)。

  • ワーカー:タスクの結果をシリアル化しようとしているときにエラーが発生すると、タスクに失敗とkombu.exceptions.EncodingErrorエラーのマークが付けられるようになりました。

    IonelCristianMărieșによって提供された修正。

  • -B引数を持つワーカーは、ビートインスタンスを適切にシャットダウンしませんでした。

  • ワーカー:%nおよび%h形式は、--logfile--pidfile、および--statedb引数でもサポートされるようになりました。

    例:

    $ celery -A proj worker -n foo@%h --logfile=%n.log --statedb=%n.db
  • Redis / Cacheの結果バックエンド:コードに参加しようとしているときにキーが削除された場合にタイムアウトするようになりました。

  • フォールバックロック解除コードタスクでRetryが発生するようになり、ワーカーによって再試行が適切にログに記録されるようになりました。

  • マルチ:イベントレット/イベントモンキーパッチを適用しなくなります(問題#1717)。

  • Redis結果バックエンド:UNIXソケットをサポートするようになりました。

    Redisブローカートランスポートと同様に、結果バックエンドもredis+socket:///tmp/redis.sock URLの使用をサポートするようになりました。

    Alcides ViamontesEsquivelによる寄稿。

  • イベント:クライアントから送信されたイベントは、ワーカー関連のイベントと間違えられました(問題#1714)。

    events.Stateの場合、タスクには、task-sentイベントの受信時に設定されるTask.client属性が含まれるようになりました。

    また、クライアントの論理クロックはクラスターと同期していないため、「タイムバブル」の中にあります。 したがって、このため、モニターはクライアントから送信されたイベントのクロックとのマージを試みなくなり、代わりに、スキューが-1の現在のクロックを使用して値を偽造します。

  • プリフォークプール:終了したプロセスを見つけるために使用される方法には、欠落しているpopenオブジェクトも考慮されていないという欠陥がありました。

  • キャンバス:groupおよびchordは、グループ/コードオブジェクトがアプリインスタンスに関連付けられている限り、匿名署名で機能するようになりました(問題#1744)。

    group(..., app=app)を使用してアプリを渡すことができます。


3.1.6

発売日
2013-12-02 06:00 pm UTC
リリースバイ
ソレムに聞く
  • 現在、billiard 3.3.0.10に依存しています。

  • 昆布3.0.7 に依存するようになりました。

  • Mingleが起動時にワーカーをハングさせる問題を修正しました(問題#1686)。

  • ビート:特権を2回ドロップしようとします(問題#1708)。

  • Windows:geteuidが使用できないというエラーを修正しました(問題#1676)。

  • タスクは、予想されるエラークラスのリストを提供できるようになりました(問題#1682)。

    リストには、通常の操作中にタスクで発生すると予想されるエラーのみを含める必要があります。

    @task(throws=(KeyError, HttpNotFound))

    例外が発生したときに何が起こるかは、エラーの種類によって異なります。

    • 予期されるエラー(Task.throwsに含まれる)

      重大度INFOを使用してログに記録され、トレースバックは除外されます。

    • 予期しないエラー

      重大度ERRORを使用してログに記録され、トレースバックが含まれます。


  • キャッシュ結果のバックエンドがPython3と互換性を持つようになりました(問題#1697)。

  • CentOS init-script:SysVスタイルのinitシンボリックリンクと互換性があります。

    修正はジョナサンジョーダンによって提供されました。

  • イベント:タスク名が定義されていない場合の問題を修正しました(問題#1710)。

    MherMovsisyanによって提供された修正。

  • タスク:バインドされていないローカルエラーを修正しました(問題#1684)。

    MarkusUllmannによって提供された修正。

  • キャンバス:1つのタスク(最適化)のみでグループを展開するようになりました(問題#1656)。

  • タスク:ETAとタイムゾーンの問題を修正しました。

    AlexanderKovalによって提供された修正。

  • Django:ワーカーがモデルの検証を実行するようになりました(問題#1681)。

  • タスクデコレータは、間違った引数で使用されたときに、混乱を少なくするエラーを出力するようになりました(問題#1692)。

  • タスク:新しいメソッドTask.send_eventを使用して、カスタムイベントをFlowerやその他のモニターに送信できます。

  • 非抽象タスククラスとの互換性の問題を修正しました

  • クライアントからのイベントは、新しいノード名形式(gen<pid>@<hostname>)を使用するようになりました。

  • インタプリタのシャットダウン時にCallableが定義されないというまれなバグを修正しました(問題#1678)。

    NickJohnsonによる修正。

  • Python 2.6の互換性を修正しました(問題#1679)。


3.1.5

発売日
2013-11-21 06:20 pm UTC
リリースバイ
ソレムに聞く
  • 昆布3.0.6 に依存するようになりました。

  • billiard 3.3.0.8に依存するようになりました

  • アプリ:config_from_objectがレイジーになりました(問題#1665)。

  • アプリ:autodiscover_tasksは怠惰になりました。

    Djangoユーザーは、設定オブジェクトへのアクセスをラムダでラップする必要があります。

    app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

    これにより、設定オブジェクトが時期尚早に準備されないようになります。

  • 一部のユーザーが経験した--app引数のリグレッションを修正しました(問題#1653)。

  • ワーカー:--detachが有効になっていない場合でも、--uidおよび--gid引数を尊重するようになりました。

  • ビート:--detachが有効になっていない場合でも、--uidおよび--gid引数を尊重するようになりました。

  • Python 3:ワーカー-B引数を有効にしたときに発生する順序付けできないエラーを修正しました。

  • celery.VERSIONは名前付きタプルになりました。

  • maybe_signature(list)が再帰的に適用されるようになりました(問題#1645)。

  • celery shellコマンド:IPython.frontend非推奨の警告を修正しました。

  • デフォルトのアプリには、組み込みの修正プログラムは含まれていません。

    これにより、celery multiがターゲットの作業ディレクトリに入る前にDjango設定モジュールを読み込もうとするバグが修正されます。

  • Djangoデーモン化チュートリアルが変更されました。

    新しいプロジェクトレイアウトを使用する場合、ユーザーはDJANGO_SETTINGS_MODULE/etc/default/celerydに明示的にエクスポートする必要がなくなりました。

  • Redis結果バックエンド:有効期限の値を0にできるようになりました(問題#1661)。

  • 検閲設定で文字列以外のキーが考慮されるようになりました(問題#1663)。

  • アプリ:新しいautofinalizeオプション。

    タスクレジストリにアクセスすると、アプリは自動的にファイナライズされます。 この動作を無効にして、代わりに例外が発生するようになりました。

    例:

    app = Celery(autofinalize=False)
    
    # raises RuntimeError
    tasks = app.tasks
    
    @app.task
    def add(x, y):
        return x + y
    
    # raises RuntimeError
    add.delay(2, 2)
    
    app.finalize()
    # no longer raises:
    tasks = app.tasks
    add.delay(2, 2)
  • ワーカーは、シャットダウン中に監視イベントを送信しませんでした。

  • ワーカー:サポートされていないトランスポートで使用すると、MingleとGossipが自動的に無効になるようになりました(問題#1664)。

  • celeryコマンド:プリロードオプションで、まれな--opt value形式がサポートされるようになりました(問題#1668)。

  • celeryコマンド:サブコマンドの前に表示されていたオプションが誤って削除され、代わりに最後に移動されるようになりました。

  • ワーカーは、起動が完了する前に受信した場合でも、inspect statsコマンドに正しく応答するようになりました(問題#1659)。

  • :signal: `task_postrun`finallyブロック内で送信されるようになり、シグナルが常に送信されるようになりました。

  • Beat:文字列フォーマットの構文エラーを修正しました。

    :github_user: `nadad` による寄稿。

  • ドキュメントのタイプミスを修正しました。

    Loic Bistuer、:github_user: `sunfinite` によって提供された修正。

  • ネストされたチェーンは、|演算子の代わりにchainタイプを使用して構築された場合に正しく機能するようになりました(問題#1656)。


3.1.4

発売日
2013-11-15 11:40 pm UTC
リリースバイ
ソレムに聞く
  • 昆布3.0.5 に依存するようになりました。

  • billiard 3.3.0.7に依存するようになりました

  • ワーカーが誤ってデフォルトのソケットタイムアウトを5秒に設定しました。

  • Django:修正により、スレッドが同じアプリインスタンスを使用するようにデフォルトのアプリが設定されるようになりました(たとえば、 manage.py runserver の場合)。

  • ワーカー:一部のユーザーが起動時に発生するUnicodeエラーのクラッシュを修正しました。

  • 空のチェーンで.apply_asyncを呼び出すと、再び機能するようになりました(問題#1650)。

  • celery multi showコマンドは、startコマンドと同じ引数を生成するようになりました。

  • --app引数は、アプリインスタンスの代わりにモジュールオブジェクトを使用することになります(結果としてクラッシュします)。

  • beatinit-scriptの構文エラーの問題を修正しました。

    Vsevolodによって提供された修正。

  • テストはPyPy2.1および2.2に合格しました。


3.1.3

発売日
2013-11-13 00:55 am UTC
リリースバイ
ソレムに聞く
  • Python 2.7.0-2.7.5との互換性の問題を修正しました(問題#1637)

    unpack_fromは、Python2.7.6でmemoryview引数のサポートを開始しました。

  • ワーカー:-B引数は、ロギングに使用されるファイルを誤って閉じました。

  • タスクで装飾されたタスクは、ドキュメント文字列を保持するようになりました(問題#1636)


3.1.2

発売日
2013-11-12 08:00 pm UTC
リリースバイ
ソレムに聞く
  • billiard 3.3.0.6に依存するようになりました

  • ビリヤードC拡張機能をインストールする必要がなくなりました。

  • ワーカーはタスクエラーを黙って無視しました。

  • Django:データベースバックエンドが指定されていない場合に発生するImproperlyConfiguredエラーを修正しました。

    :github_user: `j0hnsmith` によって提供された修正。

  • プリフォークプール:_multiprocessing.readmemoryviewが利用可能な場合はそれを使用するようになりました。

  • close_open_fdsは、使用可能な場合、os.closerangeを使用するようになりました。

  • get_fdmaxは、可能であればsysconfigから値を取得するようになりました。


3.1.1

発売日
2013-11-11 06:30 pm UTC
リリースバイ
ソレムに聞く
  • billiard 3.3.0.4に依存するようになりました。

  • Python 3:互換性の問題を修正しました。

  • Windows:ビリヤードC拡張機能がインストールされていないという警告が誤って表示されました(問題#1630)。

  • Django: celery コマンドで入力する必要がないように、デフォルトの DJANGO_SETTINGS_MODULEを設定するソリューションでチュートリアルが更新されました。

    また、チュートリアルのタイプミスを修正し、Djangoデータベースバックエンドを使用するために必要な設定を追加しました。

    Chris Ward、:github_user: `orarbel` に感謝します。

  • Django:Django1.6でDjango設定を使用する際の問題を修正しました。

  • Django:djangoローダーがアクティブな場合は修正を適用しないでください。

  • ワーカー:互換性プリフォークプールの実装を使用する場合のhuman_write_statsの属性エラーを修正しました。

  • ワーカー:C拡張子のないビリヤードとの互換性を修正しました。

  • Inspect.conf:with_defaults引数をサポートするようになりました。

  • Group.restore:バックエンド引数が尊重されませんでした。


3.1.0

発売日
2013-11-09 11:00 pm UTC
リリースバイ
ソレムに聞く

Celery 3.1(Cipater)の新機能を参照してください。