whatsnew-3.2.rst 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. .. _whatsnew-3.2:
  2. ===========================================
  3. What's new in Celery 3.2 (TBA)
  4. ===========================================
  5. :Author: Ask Solem (ask at celeryproject.org)
  6. .. sidebar:: Change history
  7. What's new documents describe the changes in major versions,
  8. we also have a :ref:`changelog` that lists the changes in bugfix
  9. releases (0.0.x), while older series are archived under the :ref:`history`
  10. section.
  11. Celery is a simple, flexible and reliable distributed system to
  12. process vast amounts of messages, while providing operations with
  13. the tools required to maintain such a system.
  14. It's a task queue with focus on real-time processing, while also
  15. supporting task scheduling.
  16. Celery has a large and diverse community of users and contributors,
  17. you should come join us :ref:`on IRC <irc-channel>`
  18. or :ref:`our mailing-list <mailing-list>`.
  19. To read more about Celery you should go read the :ref:`introduction <intro>`.
  20. While this version is backward compatible with previous versions
  21. it's important that you read the following section.
  22. This version is officially supported on CPython 2.6, 2.7 and 3.3,
  23. and also supported on PyPy.
  24. .. _`website`: http://celeryproject.org/
  25. .. topic:: Table of Contents
  26. Make sure you read the important notes before upgrading to this version.
  27. .. contents::
  28. :local:
  29. :depth: 2
  30. Preface
  31. =======
  32. .. _v320-important:
  33. Important Notes
  34. ===============
  35. Dropped support for Python 2.6
  36. ------------------------------
  37. Celery now requires Python 2.7 or later.
  38. JSON is now the default serializer
  39. ----------------------------------
  40. Using one logfile per process by default
  41. ----------------------------------------
  42. The Task base class no longer automatically register tasks
  43. ----------------------------------------------------------
  44. The metaclass has been removed blah blah
  45. Arguments now verified when calling a task
  46. ------------------------------------------
  47. .. _v320-news:
  48. News
  49. ====
  50. New Task Message Protocol
  51. =========================
  52. ``TaskProducer`` replaced by ``app.amqp.create_task_message`` and
  53. ``app.amqp.send_task_message``.
  54. - Worker stores results for internal errors like ``ContentDisallowed``, and
  55. exceptions occurring outside of the task function.
  56. Canvas Refactor
  57. ===============
  58. Riak Result Backend
  59. ===================
  60. Contributed by Gilles Dartiguelongue, Alman One and NoKriK.
  61. Bla bla
  62. - blah blah
  63. Event Batching
  64. ==============
  65. Events are now buffered in the worker and sent as a list
  66. Task.replace
  67. ============
  68. Task.replace changed, removes Task.replace_in_chord.
  69. The two methods had almost the same functionality, but the old Task.replace
  70. would force the new task to inherit the callbacks/errbacks of the existing
  71. task.
  72. If you replace a node in a tree, then you would not expect the new node to
  73. inherit the children of the old node, so this seems like unexpected
  74. behavior.
  75. So self.replace(sig) now works for any task, in addition sig can now
  76. be a group.
  77. Groups are automatically converted to a chord, where the callback
  78. will "accumulate" the results of the group tasks.
  79. A new builtin task (`celery.accumulate` was added for this purpose)
  80. Closes #81
  81. Optimized Beat implementation
  82. =============================
  83. In Other News
  84. -------------
  85. - **Requirements**:
  86. - Now depends on :ref:`Kombu 3.1 <kombu:version-3.1.0>`.
  87. - Now depends on :mod:`billiard` version 3.4.
  88. - No longer depends on ``anyjson`` :sadface:
  89. - **Programs**: ``%n`` format for :program:`celery multi` is now synonym with
  90. ``%N`` to be consistent with :program:`celery worker`.
  91. - **Programs**: celery inspect/control now supports --json argument
  92. - **Programs**: :program:`celery logtool`: Utility for filtering and parsing celery worker logfiles
  93. - **Worker**: Gossip now sets ``x-message-ttl`` for event queue to heartbeat_interval s.
  94. (Iss ue #2005).
  95. - **App**: New signals
  96. - :data:`app.on_configure <@on_configure>`
  97. - :data:`app.on_after_configure <@on_after_configure>`
  98. - :data:`app.on_after_finalize <@on_after_finalize>`
  99. - **Canvas**: ``chunks``/``map``/``starmap`` are now routed based on the target task.
  100. - Apps can now define how tasks are named (:meth:`@gen_task_name`).
  101. Contributed by Dmitry Malinovsky
  102. - Module ``celery.worker.job`` renamed to :mod:`celery.worker.request`.
  103. - Beat: ``Scheduler.Publisher``/``.publisher`` renamed to
  104. ``.Producer``/``.producer``.
  105. .. _v320-removals:
  106. Scheduled Removals
  107. ==================
  108. - The module ``celery.task.trace`` has been removed as scheduled for this
  109. version.
  110. - Magic keyword arguments no longer supported.
  111. .. _v320-deprecations:
  112. Deprecations
  113. ============
  114. See the :ref:`deprecation-timeline`.
  115. .. _v320-fixes:
  116. Fixes
  117. =====
  118. .. _v320-internal:
  119. Internal changes
  120. ================
  121. - Module ``celery.worker.job`` has been renamed to :mod:`celery.worker.request`.