|  | @@ -85,34 +85,91 @@ News
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  * Time limits can now be set for individual tasks.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	To set the soft and hard time limits for a task use the ``time_limit``
 | 
	
		
			
				|  |  | -	and ``soft_time_limit`` attributes:
 | 
	
		
			
				|  |  | +    To set the soft and hard time limits for a task use the ``time_limit``
 | 
	
		
			
				|  |  | +    and ``soft_time_limit`` attributes:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	.. code-block:: python
 | 
	
		
			
				|  |  | +    .. code-block:: python
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        import time
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        @task(time_limit=60, soft_time_limit=30)
 | 
	
		
			
				|  |  | +        def sleeptask(seconds):
 | 
	
		
			
				|  |  | +            time.sleep(seconds)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    If the attributes are not set, then the workers default time limits
 | 
	
		
			
				|  |  | +    will be used.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    New in this version you can also change the time limits for a task
 | 
	
		
			
				|  |  | +    at runtime using the :func:`time_limit` remote control command::
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    >>> from celery.task import control
 | 
	
		
			
				|  |  | +    >>> control.time_limit("tasks.sleeptask",
 | 
	
		
			
				|  |  | +    ...                        soft=60, hard=120, reply=True)
 | 
	
		
			
				|  |  | +    [{'worker1.example.com': {'ok': 'time limits set successfully'}}]
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    Only tasks that starts executing after the time limit change will be affected.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .. note::
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        Soft time limits will still not work on Windows or other platforms
 | 
	
		
			
				|  |  | +        that do not have the ``SIGUSR1`` signal.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +.. _version-2.2.6:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +2.2.6
 | 
	
		
			
				|  |  | +=====
 | 
	
		
			
				|  |  | +:release-date: 2011-04-15 16:00 P.M CEST
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +.. _v226-important:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Important Notes
 | 
	
		
			
				|  |  | +---------------
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* Now depends on Kombu 1.1.2.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* Dependency lists now explicitly specifies that we don't want python-dateutil
 | 
	
		
			
				|  |  | +  2.x, as this version only supports py3k.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    If you have installed dateutil 2.0 by accident you should downgrade
 | 
	
		
			
				|  |  | +    to the 1.5.0 version::
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        pip install -U python-dateutil==1.5.0
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    or by easy_install::
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        easy_install -U python-dateutil==1.5.0
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +.. _v226-fixes:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Fixes
 | 
	
		
			
				|  |  | +-----
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* The new ``WatchedFileHandler`` broke Python 2.5 support (Issue #367).
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +* Task: Don't use ``app.main`` if the task name is set explicitly.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		import time
 | 
	
		
			
				|  |  | +* Sending emails did not work on Python 2.5, due to a bug in
 | 
	
		
			
				|  |  | +  the version detection code (Issue #378).
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		@task(time_limit=60, soft_time_limit=30)
 | 
	
		
			
				|  |  | -		def sleeptask(seconds):
 | 
	
		
			
				|  |  | -			time.sleep(seconds)
 | 
	
		
			
				|  |  | +* Beat: Adds method ``ScheduleEntry._default_now``
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	If the attributes are not set, then the workers default time limits
 | 
	
		
			
				|  |  | -	will be used.
 | 
	
		
			
				|  |  | +    This method can be overridden to change the default value
 | 
	
		
			
				|  |  | +    of ``last_run_at``.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	New in this version you can also change the time limits for a task
 | 
	
		
			
				|  |  | -	at runtime using the :func:`time_limit` remote control command::
 | 
	
		
			
				|  |  | +* An error occurring in process cleanup could mask task errors.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		>>> from celery.task import control
 | 
	
		
			
				|  |  | -		>>> control.time_limit("tasks.sleeptask",
 | 
	
		
			
				|  |  | -		...					   soft=60, hard=120, reply=True)
 | 
	
		
			
				|  |  | -		[{'worker1.example.com': {'ok': 'time limits set successfully'}}]
 | 
	
		
			
				|  |  | +  We no longer propagate errors happening at process cleanup,
 | 
	
		
			
				|  |  | +  but log them instead.  This way they will not interfere with publishing
 | 
	
		
			
				|  |  | +  the task result (Issue #365).
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	Only tasks that starts executing after the time limit change will be affected.
 | 
	
		
			
				|  |  | +* Defining tasks did not work properly when using the Django
 | 
	
		
			
				|  |  | +  ``shell_plus`` utility (Issue #366).
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	.. note::
 | 
	
		
			
				|  |  | +* ``AsyncResult.get`` did not accept the ``interval`` and ``propagate``
 | 
	
		
			
				|  |  | +   arguments.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		Soft time limits will still not work on Windows or other platforms
 | 
	
		
			
				|  |  | -		that do not have the ``SIGUSR1`` signal.
 | 
	
		
			
				|  |  | +* celeryd: Fixed a bug where celeryd would not shutdown if a
 | 
	
		
			
				|  |  | +   :exc:`socket.error` was raised.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  .. _version-2.2.5:
 | 
	
		
			
				|  |  |  
 |