Commit graph

20 commits

Author SHA1 Message Date
adam
7a50c4797e py-celery: adjust DEPENDS 2019-04-05 13:05:22 +00:00
adam
b16ae54312 py-celery: updated to 4.3.0
4.3.0:
- Added support for broadcasting using a regular expression pattern
  or a glob pattern to multiple Pidboxes.
- Added support for PEP 420 namespace packages.
- Added :setting:acks_on_failure_or_timeout as a setting instead of
  a task only option.
- Added the :signal:task_received signal.
- Fixed a crash of our CLI that occurred for everyone using Python < 3.6.
- Fixed a crash that occurred when using the Redis result backend
  while the :setting:result_expires is set to None.
- Added support the DNS seedlist connection format for the MongoDB result backend.
- Bump the minimum eventlet version to 0.24.1.
- Replace the msgpack-python package with msgpack.
- Allow scheduling error handlers which are not registered tasks in the current
  worker.
- Additional fixes and enhancements to the SSL support of
  the Redis broker and result backend.
2019-04-05 12:55:50 +00:00
adam
70bcf6ee9d py-celery: updated to 4.2.1
4.2.1:
- **Result Backend**: Fix deserialization of exceptions that are present in the producer codebase but not in the consumer codebase.
- **Message Protocol Compatibility**: Fix error caused by an invalid (None) timelimit value in the message headers when migrating messages from 3.x to 4.x.
- **Result Backend**: Fix serialization of exception arguments when exception arguments are not JSON serializable by default.
- **Worker**: Fixed multiple issues with rate limited tasks
  Maintain scheduling order.
  Fix possible scheduling of a :class:celery.worker.request.Request with the wrong :class:kombu.utils.limits.TokenBucket which could cause tasks' rate limit to behave incorrectly.
  Fix possible duplicated execution of tasks that were rate limited or if ETA/Countdown was provided for them.
- **Worker**: Defensively handle invalid timelimit header values in requests.
2018-08-07 08:41:26 +00:00
adam
b076138b56 py-celery: Fix for Python 3.7 (async is a reserved keyword) 2018-07-06 07:51:21 +00:00
adam
ee60bb89c5 py-celery: updated to 4.2.0
4.2.0:
- **Task**: Add ignore_result as task execution option
- **Redis Result Backend**: Do not create PubSub subscriptions when results are ignored
- **Redis Result Backend**: Result consumer always unsubscribes when task state is ready
- **Development/Testing**: Add docker-compose and base Dockerfile for development
- **Documentation/Sphinx**: Teach autodoc to document tasks if undoc-members is not set
- **Documentation/Sphinx**: Put back undoc-members option in sphinx test
- **Documentation/Sphinx**: Sphinx autodoc picks up tasks automatically only if undoc-members is set
- **Task**: Fix shadow_name issue when using previous version Task class
- **Task**: Add support for bound tasks as link_error parameter
- **Deployment**: Add a command line option for setting the Result Backend URL
- **CI**: Enable pip cache in appveyor build
- **Concurrency/Asynpool**: Fix errno property name shadowing.
- **DynamoDB Backend**: Configurable endpoint URL
- **Timezones**: Correctly detect UTC timezone and timezone from settings
- **Control**: Cleanup the mailbox's producer pool after forking
- **Documentation**: Start Celery and Celery Beat on Azure WebJob
- **Celery Beat**: Schedule due tasks on startup, after Beat restart has occurred
- **Worker**: Use absolute time when task is accepted by worker pool
- **Canvas**: Propagate arguments to chains inside groups
- **Canvas**: Fix Task.replace behavior in nested chords
- **Installation**: Pass python_requires argument to setuptools
- **Message Protocol Compatibility**: Handle "hybrid" messages that have moved between Celery versions
- **Canvas**: request on_timeout now ignores soft time limit exception
- **Redis Result Backend**: Integration test to verify PubSub unsubscriptions
- **Message Protocol Properties**: Allow the shadow keyword argument and the shadow_name method to set shadow properly
- **Canvas**: Run chord_unlock on same queue as chord body
- **Canvas**: Support chords with empty header group
- **Timezones**: make astimezone call in localize more safe
- **Canvas**: Fix length-1 and nested chords
- **CI**: Run Openstack Bandit <https://pypi.org/project/bandit/1.0.1/>_ in Travis CI in order to detect security issues.
- **CI**: Run isort <https://github.com/timothycrosley/isort>_ in Travis CI in order to lint Python **import** statements.
- **Canvas**: Resolve TypeError on .get from nested groups
- **CouchDB Backend**: Correct CouchDB key string type for Python 2/3 compatibility
- **Group Result**: Fix current_app fallback in GroupResult.restore()
- **Consul Backend**: Correct key string type for Python 2/3 compatibility
- **Group Result**: Correctly restore an empty GroupResult
- **Result**: Disable synchronous waiting for sub-tasks on eager mode
- **Celery Beat**: Detect timezone or Daylight Saving Time changes
- **Canvas**: Fix append to an empty chain.
- **Task**: Allow shadow to override task name in trace and logging messages.
- **Documentation/Sphinx**: Fix getfullargspec Python 2.x compatibility in contrib/sphinx.py
- **Documentation**: Updated installation instructions for SQS broker
- **Celery Beat**: Better equality comparison for ScheduleEntry instances
- **Task**: Adding 'shadow' property to as_task_v2
- Try to import directly, do not use deprecated imp method
- **Task**: Enable kwargsrepr and argsrepr override for modifying task argument representation
- **Result Backend**: Add Redis Sentinel backend
- Use unique time values for Collections/LimitedSet
- **CI**: Report coverage for all result backends.
- **Django**: Use Django DB max age connection setting
- **Canvas**: Properly take into account chain tasks link_error
- **Canvas**: Allow to create group with single task
- **Canvas**: Copy dictionary parameter in chord.from_dict before modifying
- **Results Backend**: Add Cassandra options
- **Worker**: Apply rate limiting for tasks with ETA
- **Celery Beat**: support scheduler entries without a schedule
- **SQS Broker**: Updated SQS requirements file with correct boto3 version
- Remove unused code from _create_app contextmanager
- **Group Result**: Modify GroupResult.as_tuple() to include parent
- **Beat**: Set default scheduler class in beat command.
- **Worker**: Retry signal receiver after raised exception
- **Task**: Allow custom Request class for tasks
- **Django**: Django fixup should close all cache backends
- **Deployment**: Adds stopasgroup to the supervisor scripts
- Using Exception.args to serialize/deserialize exceptions
- **Timezones**: Correct calculation of application current time with timezone
- **Remote Debugger**: Set the SO_REUSEADDR option on the socket
- **Django**: Celery ignores exceptions raised during django.setup()
- Use heartbeat setting from application configuration for Broker connection
- **Celery Beat**: Fixed exception caused by next_transit receiving an unexpected argument.
- **Task** Introduce exponential backoff with Task auto-retry
- **AsyncResult**: Remove weak-references to bound methods in AsyncResult promises.
- **Development/Testing**: Allow eager application of canvas structures
- **Command Line**: Flush stderr before exiting with error code 1.
- **Task**: Escapes single quotes in kwargsrepr strings.
- **AsyncResult**: Restore ability to join over ResultSet after fixing celery/3818.
- **Redis Results Backend**: Unsubscribe on message success.
  Previously Celery would leak channels, filling the memory of the Redis instance.
- **Task**: Only convert eta to isoformat when it is not already a string.
- **Redis Results Backend**: The result_backend setting now supports rediss:// URIs
- **Canvas** Keyword arguments are passed to tasks in chain as expected.
- **Django** Fix a regression casuing Celery to crash when using Django.
- **Canvas** Chain with one task now runs as expected.
- **Kombu** Celery 4.2 now requires Kombu 4.2 or better.
- GreenletExit is not in __all__ in greenlet.py which can not be imported by Python 3.6.
  The import was adjusted to work on Python 3.6 as well.
- Fixed a regression that occured during the development of Celery 4.2 which caused celery report to crash when Django is installed.
- Matched the behavior of GroupResult.as_tuple() to that of AsyncResult.as_tuple().
  The group's parent is now serialized correctly.
- Use Redis coercion mechanism for converting URI query parameters.
- Fixed the representation of GroupResult.
2018-06-18 07:15:17 +00:00
adam
186a699335 Fix ALTERNATIVES 2017-12-19 10:19:07 +00:00
wiz
ef141a6b79 Reset maintainer 2017-09-16 19:26:41 +00:00
joerg
d231ee624f Sync PLIST with reality. Bump revision. 2017-08-25 20:03:39 +00:00
adam
f83fa74ade 4.1.0
- Configuration: CELERY_SEND_EVENTS instead of CELERYD_SEND_EVENTS for 3.1.x compatibility
- App: Restore behavior so Broadcast queues work.
- Sphinx: Make appstr use standard format
- App: Make id, name always accessible from logging.Formatter via extra
- Worker: Add worker_shutting_down signal
- PyPy: Support PyPy version 5.8.0
- Results: Elasticsearch: Fix serializing keys
- Canvas: Deserialize all tasks in a chain
- Systemd: Recover loglevel for ExecStart in systemd config
- Sphinx: Use the Sphinx add_directive_to_domain API.
- App: Pass properties to before_task_publish signal
- Results: Add SSL option for Redis backends
- Beat: celery.schedule.crontab: fix reduce
- State: Fix celery issues when using flower REST API
- Results: Elasticsearch: Fix serializing document id.
- Beat: Make shallow copy of schedules dictionary
- Beat: Populate heap when periodic tasks are changed
- Task: Allow class methods to define tasks
- Platforms: Always return boolean value when checking if signal is supported.
- Canvas: Avoid duplicating chains in chords
- Canvas: Lookup task only if list has items
- Results: Allow unicode message for exception raised in task
- Python3: Support for Python 3.6
- App: Fix retried tasks with expirations
- * Fixes items format route in docs
- Utils: Fix maybe_make_aware
- Task: Fix task ETA issues when timezone is defined in configuration
- Concurrency: Consumer does not shutdown properly when embedded in gevent application
- Canvas: Fix 3725: Task replaced with group does not complete
- Task: Correct order in chains with replaced tasks
- Result: Enable synchronous execution of sub-tasks
- Task: Fix request context for blocking task apply (added hostname)
- Utils: Fix task argument handling
- Beat: Provide a transparent method to update the Scheduler heap
- Beat: Specify default value for pidfile option of celery beat.
- Results: Elasticsearch: Stop generating a new field every time when a new result is being put
- Results: Elasticsearch now reuses fields when new results are added.
- Results: Fixed MongoDB integration when using binary encodings
- Worker: Making missing ``*args`` and ``kwargs`` in Task protocol 1
return empty value in protocol 2.
- App: Fixed :exc:`TypeError` in AMQP when using deprecated signal
- Beat: Added a transparent method to update the scheduler heap.
- Task: Fixed handling of tasks with keyword arguments on Python 3
- Task: Fixed request context for blocking task apply by adding missing
  hostname attribute.
- Task: Added option to run subtasks synchronously with
  ``disable_sync_subtasks`` argument.
- App: Fixed chaining of replaced tasks.
- Canvas: Fixed bug where replaced tasks with groups were not completing
- Worker: Fixed problem where consumer does not shutdown properly when
  embedded in a gevent application.
- Results: Added support for using AWS DynamoDB as a result backend.
- Testing: Added caching on pip installs.
- Worker: Prevent consuming queue before ready on startup.
- App: Fixed task ETA issues when timezone is defined in configuration
- Utils: ``maybe_make_aware`` should not modify datetime when it is
  already timezone-aware.
- App: Fixed retrying tasks with expirations.
- Results: Allow unicode message for exceptions raised in task
- Canvas: Fixed :exc:`IndexError` raised when chord has an empty header.
- Canvas: Avoid duplicating chains in chords.
- Utils: Allow class methods to define tasks.
- Beat: Populate heap when periodic tasks are changed.
- Results: Added support for Elasticsearch backend options settings.
- Events: Ensure ``Task.as_dict()`` works when not all information about
  task is available.
- Schedules: Fixed pickled crontab schedules to restore properly.
- Results: Added SSL option for redis backends
2017-07-25 07:52:32 +00:00
adam
91e1313fcb Changes 4.0.2:
* Requirements: Now depends on Kombu 4.0.2.
* Tasks: Fixed problem with JSON serialization of group
* Worker: Fixed JSON serialization issue when using inspect active and friends
* App: Fixed saferef errors when using signals
* Prefork: Fixed bug with pack requiring bytes argument on Python 2.7.5 and earlier
* Tasks: Saferepr did not handle unicode in bytestrings on Python 2
* Testing: Added new celery_worker_paremeters fixture.
* Tasks: Added new app argument to GroupResult.restore
  This makes the restore method behave the same way as the GroupResult constructor.
* Tasks: Fixed type checking crash when task takes *args on Python 3
* Documentation and examples improvements
2017-04-09 17:37:18 +00:00
jperkin
cf32c4d741 Use "${MV} || ${TRUE}" and "${RM} -f" consistently in post-install targets. 2017-01-03 13:23:01 +00:00
wiz
1682c6507d Remove unnecessary PLIST_SUBST and FILES_SUBST that are now provided
by the infrastructure.

Mark a couple more packages as not ready for python-3.x.
2016-08-28 15:48:28 +00:00
wiz
57199de455 Switch to MASTER_SITES_PYPI. 2016-06-08 17:43:20 +00:00
agc
203292f73e Add SHA512 digests for distfiles for net category
Problems found with existing digests:
	Package haproxy distfile haproxy-1.5.14.tar.gz
	159f5beb8fdc6b8059ae51b53dc935d91c0fb51f [recorded]
	da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]

Problems found locating distfiles:
	Package bsddip: missing distfile bsddip-1.02.tar.Z
	Package citrix_ica: missing distfile citrix_ica-10.6.115659/en.linuxx86.tar.gz
	Package djbdns: missing distfile djbdns-1.05-test25.diff.bz2
	Package djbdns: missing distfile djbdns-cachestats.patch
	Package djbdns: missing distfile 0002-dnscache-cache-soa-records.patch
	Package gated: missing distfile gated-3-5-11.tar.gz
	Package owncloudclient: missing distfile owncloudclient-2.0.2.tar.xz
	Package poink: missing distfile poink-1.6.tar.gz
	Package ra-rtsp-proxy: missing distfile rtspd-src-1.0.0.0.tar.gz
	Package ucspi-ssl: missing distfile ucspi-ssl-0.70-ucspitls-0.1.patch
	Package waste: missing distfile waste-source.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-04 00:34:51 +00:00
rodent
83dda0a7ff 3.1.16
======

- **Worker**: 3.1.15 broke ``-Ofair`` behavior.

    This regression could result in all tasks executing
    in a single child process if ``-Ofair`` was enabled.

- **Canvas**: ``celery.signature`` now properly forwards app argument
  in all cases.
- **Task**: ``.retry()`` did not raise the exception correctly
  when called without a current exception.
- **Worker**: The ``enable_events`` remote control command
  disabled worker-related events by mistake.
- **Django**: Adds support for Django 1.7 class names in INSTALLED_APPS
  when using ``app.autodiscover_tasks()``.
- **Sphinx**: ``celery.contrib.sphinx`` now uses ``getfullargspec``
  on Python 3.

3.1.15
======

- **Django**: Now makes sure ``django.setup()`` is called
  before importing any task modules (Django 1.7 compatibility)
- **Results**: ``result.get()`` was misbehaving by calling
 ``backend.get_task_meta`` in a finally call leading to
 AMQP result backend queues not being properly cleaned up.

3.1.14
======

- **Requirements**
- **Init scripts**: The generic worker init scripts ``status`` command
  now gets an accurate pidfile list.
- **Init scripts**: The generic beat script now implements the ``status``
  command.
- **Commands**: Multi now writes informational output to stdout instead of
  stderr.
- **Worker**: Now ignores not implemented error for ``pool.restart``
- **Task**: Retry no longer raises retry exception when executed in eager mode
- **AMQP Result backend**: Now ensured ``on_interval`` is called at least
  every second for blocking calls to properly propagate parent errors.
- **Django**: Compatibility with Django 1.7 on Windows.
- **Programs**: `--umask` argument can be now specified in both octal (if
  starting
2014-11-09 20:47:58 +00:00
rodent
4998f4d92c 3.1.13
======

Security Fixes
--------------

* [Security: `CELERYSA-0002`_] Insecure default umask.

    The built-in utility used to daemonize the Celery worker service sets
    an insecure umask by default (umask 0).

    This means that any files or directories created by the worker will
    end up having world-writable permissions.

    Special thanks to Red Hat for originally discovering and reporting the
    issue!

    This version will no longer set a default umask by default, so if unset
    the umask of the parent process will be used.

.. _`CELERYSA-0002`:
    http://github.com/celery/celery/tree/master/docs/sec/CELERYSA-0002.txt

News
----

- **Requirements**
    - Now depends on :ref:`Kombu 3.0.21 <kombu:version-3.0.21>`.
    - Now depends on :mod:`billiard` 3.3.0.18.

- **App**: ``backend`` argument now also sets the :setting:`CELERY_RESULT_BACKEND`
  setting.

- **Task**: ``signature_from_request`` now propagates ``reply_to`` so that
  the RPC backend works with retried tasks

- **Task**: ``retry`` will no longer attempt to requeue the task if sending
  the retry message fails.

    Unrelated exceptions being raised could cause a message loop, so it was
    better to remove this behavior.

- **Beat**: Accounts for standard 1ms drift by always waking up 0.010s
  earlier.

    This will adjust the latency so that the periodic tasks will not move
    1ms after every invocation.

- Documentation fixes
- **Worker**: Removed an outdated assert statement that could lead to errors
  being masked
2014-08-07 02:36:59 +00:00
rodent
b1d6846a8d Add ALTERNATIVES for moved bin/${BINARY} to bin/${BINARY}${PYVERSSUFFIX}. 2014-05-03 19:09:48 +00:00
rodent
060514657a mv cc-by-nc-sa-v3.0 cc-by-nc-sa-v3.0-license 2014-04-20 18:24:26 +00:00
rodent
9b177d01d4 Fix dependency versions (unsaved edit). 2014-04-19 17:59:42 +00:00
rodent
24bb80f0ae Import py27-celery-3.1.11 as net/py-celery.
Celery is an asynchronous task queue/job queue based on distributed message
passing. It is focused on real-time operation, but supports scheduling as well.

The execution units, called tasks, are executed concurrently on a single or more
worker servers using multiprocessing, Eventlet, or gevent. Tasks can execute
asynchronously (in the background) or synchronously (wait until ready).
2014-04-19 17:57:31 +00:00