Hello community,

here is the log from the commit of package python-django-celery for 
openSUSE:Factory checked in at 2012-10-07 19:55:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-celery (Old)
 and      /work/SRC/openSUSE:Factory/.python-django-celery.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-django-celery", Maintainer is ""

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-django-celery/python-django-celery.changes    
    2012-09-14 12:34:44.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-django-celery.new/python-django-celery.changes
   2012-10-07 19:55:26.000000000 +0200
@@ -1,0 +2,11 @@
+Fri Sep 21 19:22:17 UTC 2012 - [email protected]
+
+- Update to 3.0.10:
+  - Now depends on Celery 3.0.10
+  - Fixed timezone issues when using the Database periodic task scheduler.
+  - Admin: Periodic task form now adds tasks imported using CELERY_IMPORTS,
+    and CELERY_INCLUDE.
+  - Memory leak warning is now only output once.
+  - Periodic task form in Admin no longer lists the celery built-in tasks.
+
+-------------------------------------------------------------------

Old:
----
  django-celery-3.0.9.tar.bz2

New:
----
  django-celery-3.0.10.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-django-celery.spec ++++++
--- /var/tmp/diff_new_pack.tSkpFY/_old  2012-10-07 19:55:28.000000000 +0200
+++ /var/tmp/diff_new_pack.tSkpFY/_new  2012-10-07 19:55:28.000000000 +0200
@@ -20,7 +20,7 @@
 %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from 
distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
 
 Name:           python-django-celery
-Version:        3.0.9
+Version:        3.0.10
 Release:        0
 Url:            http://celeryproject.org
 Summary:        Django Celery Integration
@@ -33,7 +33,7 @@
 #BuildRequires:  python-Sphinx
 #BuildRequires:  python-sphinxcontrib-issuetracker
 BuildRequires:  python-django
-Requires:       python-celery >= 3.0.9
+Requires:       python-celery >= 3.0.10
 Requires:       python-celerymon
 Requires:       python-django-picklefield
 %if 0%{?suse_version}

++++++ django-celery-3.0.9.tar.bz2 -> django-celery-3.0.10.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/Changelog 
new/django-celery-3.0.10/Changelog
--- old/django-celery-3.0.9/Changelog   2012-08-31 18:51:52.000000000 +0200
+++ new/django-celery-3.0.10/Changelog  2012-09-21 11:29:47.000000000 +0200
@@ -5,6 +5,23 @@
 .. contents::
     :local:
 
+.. _version-3.0.10:
+
+3.0.10
+======
+:release-date: 2012-09-21 10:29 A.M BST
+
+- Now depends on Celery 3.0.10
+
+- Fixed timezone issues when using the Database periodic task scheduler.
+
+- Admin: Periodic task form now adds tasks imported using ``CELERY_IMPORTS``,
+  and ``CELERY_INCLUDE``.
+
+- Memory leak warning is now only output once.
+
+- Periodic task form in Admin no longer lists the celery built-in tasks.
+
 .. _version-3.0.9:
 
 3.0.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/PKG-INFO 
new/django-celery-3.0.10/PKG-INFO
--- old/django-celery-3.0.9/PKG-INFO    2012-08-31 18:58:42.000000000 +0200
+++ new/django-celery-3.0.10/PKG-INFO   2012-09-21 11:31:54.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: django-celery
-Version: 3.0.9
+Version: 3.0.10
 Summary: Django Celery Integration.
 Home-page: http://celeryproject.org
 Author: Ask Solem
@@ -12,7 +12,7 @@
         
         .. image:: 
http://cloud.github.com/downloads/celery/celery/celery_128.png
         
-        :Version: 3.0.9
+        :Version: 3.0.10
         :Web: http://celeryproject.org/
         :Download: http://pypi.python.org/pypi/django-celery/
         :Source: http://github.com/celery/django-celery/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/README 
new/django-celery-3.0.10/README
--- old/django-celery-3.0.9/README      2012-08-31 18:53:46.000000000 +0200
+++ new/django-celery-3.0.10/README     2012-09-21 07:38:45.000000000 +0200
@@ -4,7 +4,7 @@
 
 .. image:: http://cloud.github.com/downloads/celery/celery/celery_128.png
 
-:Version: 3.0.9
+:Version: 3.0.10
 :Web: http://celeryproject.org/
 :Download: http://pypi.python.org/pypi/django-celery/
 :Source: http://github.com/celery/django-celery/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/README.rst 
new/django-celery-3.0.10/README.rst
--- old/django-celery-3.0.9/README.rst  2012-08-31 18:53:46.000000000 +0200
+++ new/django-celery-3.0.10/README.rst 2012-09-21 07:38:45.000000000 +0200
@@ -4,7 +4,7 @@
 
 .. image:: http://cloud.github.com/downloads/celery/celery/celery_128.png
 
-:Version: 3.0.9
+:Version: 3.0.10
 :Web: http://celeryproject.org/
 :Download: http://pypi.python.org/pypi/django-celery/
 :Source: http://github.com/celery/django-celery/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/django_celery.egg-info/PKG-INFO 
new/django-celery-3.0.10/django_celery.egg-info/PKG-INFO
--- old/django-celery-3.0.9/django_celery.egg-info/PKG-INFO     2012-08-31 
18:58:40.000000000 +0200
+++ new/django-celery-3.0.10/django_celery.egg-info/PKG-INFO    2012-09-21 
11:31:38.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: django-celery
-Version: 3.0.9
+Version: 3.0.10
 Summary: Django Celery Integration.
 Home-page: http://celeryproject.org
 Author: Ask Solem
@@ -12,7 +12,7 @@
         
         .. image:: 
http://cloud.github.com/downloads/celery/celery/celery_128.png
         
-        :Version: 3.0.9
+        :Version: 3.0.10
         :Web: http://celeryproject.org/
         :Download: http://pypi.python.org/pypi/django-celery/
         :Source: http://github.com/celery/django-celery/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-celery-3.0.9/django_celery.egg-info/requires.txt 
new/django-celery-3.0.10/django_celery.egg-info/requires.txt
--- old/django-celery-3.0.9/django_celery.egg-info/requires.txt 2012-08-31 
18:58:40.000000000 +0200
+++ new/django-celery-3.0.10/django_celery.egg-info/requires.txt        
2012-09-21 11:31:38.000000000 +0200
@@ -1 +1 @@
-celery>=3.0.9
\ No newline at end of file
+celery>=3.0.10
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/djcelery/__init__.py 
new/django-celery-3.0.10/djcelery/__init__.py
--- old/django-celery-3.0.9/djcelery/__init__.py        2012-08-31 
18:53:38.000000000 +0200
+++ new/django-celery-3.0.10/djcelery/__init__.py       2012-09-21 
10:09:31.000000000 +0200
@@ -5,7 +5,7 @@
 
 import os
 
-VERSION = (3, 0, 9)
+VERSION = (3, 0, 10)
 __version__ = ".".join(map(str, VERSION[0:3])) + "".join(VERSION[3:])
 __author__ = "Ask Solem"
 __contact__ = "[email protected]"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/djcelery/admin.py 
new/django-celery-3.0.10/djcelery/admin.py
--- old/django-celery-3.0.9/djcelery/admin.py   2012-08-24 18:51:57.000000000 
+0200
+++ new/django-celery-3.0.10/djcelery/admin.py  2012-09-21 11:16:35.000000000 
+0200
@@ -14,11 +14,9 @@
 
 from celery import current_app
 from celery import states
-from celery import registry
 from celery.task.control import broadcast, revoke, rate_limit
 from celery.utils.text import abbrtask
 
-from . import loaders
 from .admin_utils import action, display_field, fixedwidth
 from .models import (TaskState, WorkerState,
                      PeriodicTask, IntervalSchedule, CrontabSchedule)
@@ -230,8 +228,9 @@
 
 
 def periodic_task_form():
-    loaders.autodiscover()
-    tasks = list(sorted(registry.tasks.regular().keys()))
+    current_app.loader.import_default_modules()
+    tasks = list(sorted(name for name in current_app.tasks
+                            if not name.startswith('celery.')))
     choices = (("", ""), ) + tuple(zip(tasks, tasks))
 
     class PeriodicTaskForm(forms.ModelForm):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/djcelery/app.py 
new/django-celery-3.0.10/djcelery/app.py
--- old/django-celery-3.0.9/djcelery/app.py     2012-07-07 14:06:38.000000000 
+0200
+++ new/django-celery-3.0.10/djcelery/app.py    2012-09-21 07:37:03.000000000 
+0200
@@ -1,7 +1,7 @@
 from __future__ import absolute_import
 
-from celery.app import default_app
+from celery import current_app
 
 
 #: The Django-Celery app instance.
-app = default_app
+app = current_app._get_current_object()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/djcelery/common.py 
new/django-celery-3.0.10/djcelery/common.py
--- old/django-celery-3.0.9/djcelery/common.py  2012-08-24 18:51:57.000000000 
+0200
+++ new/django-celery-3.0.10/djcelery/common.py 2012-09-12 18:12:43.000000000 
+0200
@@ -16,7 +16,7 @@
     Can e.g. be used inside tasks like this::
 
         from celery import task
-        from djcelery.common import respect_to_language
+        from djcelery.common import respect_language
 
         @task
         def my_task(language=None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/djcelery/loaders.py 
new/django-celery-3.0.10/djcelery/loaders.py
--- old/django-celery-3.0.9/djcelery/loaders.py 2012-08-30 17:57:44.000000000 
+0200
+++ new/django-celery-3.0.10/djcelery/loaders.py        2012-09-20 
14:57:01.000000000 +0200
@@ -26,7 +26,8 @@
 def _maybe_close_fd(fh):
     try:
         os.close(fh.fileno())
-    except (AttributeError, OSError):
+    except (AttributeError, OSError, TypeError):
+        # TypeError added for celery#962
         pass
 
 
@@ -46,6 +47,7 @@
         # Need to close any open database connection after
         # any embedded celerybeat process forks.
         signals.beat_embedded_init.connect(self.close_database)
+        signals.worker_ready.connect(self.warn_if_debug)
 
     def now(self, utc=False):
         return datetime.utcnow() if utc else now()
@@ -120,14 +122,16 @@
         listed in ``INSTALLED_APPS``.
 
         """
-        if settings.DEBUG:
-            warnings.warn("Using settings.DEBUG leads to a memory leak, never "
-                          "use this setting in production environments!")
         self.import_default_modules()
 
         self.close_database()
         self.close_cache()
 
+    def warn_if_debug(self, **kwargs):
+        if settings.DEBUG:
+            warnings.warn("Using settings.DEBUG leads to a memory leak, never "
+                          "use this setting in production environments!")
+
     def import_default_modules(self):
         super(DjangoLoader, self).import_default_modules()
         self.autodiscover()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/djcelery/models.py 
new/django-celery-3.0.10/djcelery/models.py
--- old/django-celery-3.0.9/djcelery/models.py  2012-08-24 18:51:58.000000000 
+0200
+++ new/django-celery-3.0.10/djcelery/models.py 2012-09-21 10:36:41.000000000 
+0200
@@ -148,8 +148,7 @@
                                 hour=self.hour,
                                 day_of_week=self.day_of_week,
                                 day_of_month=self.day_of_month,
-                                month_of_year=self.month_of_year,
-                                nowfun=now)
+                                month_of_year=self.month_of_year)
 
     @classmethod
     def from_schedule(cls, schedule):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/djcelery/schedulers.py 
new/django-celery-3.0.10/djcelery/schedulers.py
--- old/django-celery-3.0.9/djcelery/schedulers.py      2012-08-24 
18:51:58.000000000 +0200
+++ new/django-celery-3.0.10/djcelery/schedulers.py     2012-09-21 
11:12:37.000000000 +0200
@@ -5,9 +5,11 @@
 from warnings import warn
 
 from anyjson import deserialize, serialize
+from celery import current_app
 from celery import schedules
 from celery.beat import Scheduler, ScheduleEntry
 from celery.utils.encoding import safe_str, safe_repr
+from celery.utils.timeutils import is_naive
 from kombu.utils.finalize import Finalize
 
 from django.db import transaction
@@ -15,7 +17,7 @@
 
 from .models import (PeriodicTask, PeriodicTasks,
                      CrontabSchedule, IntervalSchedule)
-from .utils import DATABASE_ERRORS, now
+from .utils import DATABASE_ERRORS, make_aware
 
 # This scheduler must wake up more frequently than the
 # regular of 5 minutes because it needs to take external
@@ -29,6 +31,7 @@
     save_fields = ["last_run_at", "total_run_count", "no_changes"]
 
     def __init__(self, model):
+        self.app = current_app._get_current_object()
         self.name = model.name
         self.task = model.task
         self.schedule = model.schedule
@@ -51,7 +54,10 @@
 
         if not model.last_run_at:
             model.last_run_at = self._default_now()
-        self.last_run_at = model.last_run_at
+        orig = self.last_run_at = model.last_run_at
+        if not is_naive(self.last_run_at):
+            self.last_run_at = self.last_run_at.replace(tzinfo=None)
+        assert orig.hour == self.last_run_at.hour  # timezone sanity
 
     def is_due(self):
         if not self.model.enabled:
@@ -59,10 +65,10 @@
         return self.schedule.is_due(self.last_run_at)
 
     def _default_now(self):
-        return now()
+        return self.app.now()
 
     def next(self):
-        self.model.last_run_at = now()
+        self.model.last_run_at = self.app.now()
         self.model.total_run_count += 1
         self.model.no_changes = True
         return self.__class__(self.model)
@@ -74,6 +80,7 @@
         obj = self.model._default_manager.get(pk=self.model.pk)
         for field in self.save_fields:
             setattr(obj, field, getattr(self.model, field))
+        obj.last_run_at = make_aware(obj.last_run_at)
         obj.save()
 
     @classmethod
@@ -117,6 +124,7 @@
     Changes = PeriodicTasks
     _schedule = None
     _last_timestamp = None
+    _initial_read = False
 
     def __init__(self, *args, **kwargs):
         self._dirty = set()
@@ -141,25 +149,26 @@
         return s
 
     def schedule_changed(self):
-        if self._last_timestamp is not None:
+        try:
+            # If MySQL is running with transaction isolation level
+            # REPEATABLE-READ (default), then we won't see changes done by
+            # other transactions until the current transaction is
+            # committed (Issue #41).
             try:
-                # If MySQL is running with transaction isolation level
-                # REPEATABLE-READ (default), then we won't see changes done by
-                # other transactions until the current transaction is
-                # committed (Issue #41).
-                try:
-                    transaction.commit()
-                except transaction.TransactionManagementError:
-                    pass  # not in transaction management.
-
-                ts = self.Changes.last_change()
-                if not ts or ts < self._last_timestamp:
-                    return False
-            except DATABASE_ERRORS, exc:
-                warn(RuntimeWarning("Database gave error: %r" % (exc, )))
-                return False
-        self._last_timestamp = now()
-        return True
+                transaction.commit()
+            except transaction.TransactionManagementError:
+                pass  # not in transaction management.
+
+            last, ts = self._last_timestamp, self.Changes.last_change()
+        except DATABASE_ERRORS, exc:
+            warn(RuntimeWarning("Database gave error: %r" % (exc, )))
+            return False
+        try:
+            if ts and ts > (last if last else ts):
+                return True
+        finally:
+            self._last_timestamp = ts
+        return False
 
     def reserve(self, entry):
         new_entry = Scheduler.reserve(self, entry)
@@ -170,7 +179,7 @@
 
     @transaction.commit_manually
     def sync(self):
-        self.logger.debug("Writing dirty entries...")
+        self.logger.info("Writing entries...")
         _tried = set()
         try:
             try:
@@ -207,15 +216,23 @@
         if self.app.conf.CELERY_TASK_RESULT_EXPIRES:
             entries.setdefault("celery.backend_cleanup", {
                     "task": "celery.backend_cleanup",
-                    "schedule": schedules.crontab("0", "4", "*", nowfun=now),
+                    "schedule": schedules.crontab("0", "4", "*"),
                     "options": {"expires": 12 * 3600}})
         self.update_from_dict(entries)
 
     @property
     def schedule(self):
-        if self.schedule_changed():
+        update = False
+        if not self._initial_read:
+            self.logger.debug('DatabaseScheduler: intial read')
+            update = True
+            self._initial_read = True
+        elif self.schedule_changed():
+            self.logger.info("DatabaseScheduler: Schedule changed.")
+            update = True
+
+        if update:
             self.sync()
-            self.logger.debug("DatabaseScheduler: Schedule changed.")
             self._schedule = self.all_as_schedule()
             if self.logger.isEnabledFor(logging.DEBUG):
                 self.logger.debug(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/djcelery/tests/test_models.py 
new/django-celery-3.0.10/djcelery/tests/test_models.py
--- old/django-celery-3.0.9/djcelery/tests/test_models.py       2012-07-26 
15:34:21.000000000 +0200
+++ new/django-celery-3.0.10/djcelery/tests/test_models.py      2012-09-21 
10:15:12.000000000 +0200
@@ -2,13 +2,13 @@
 
 from datetime import datetime, timedelta
 
-from celery import current_app
 from celery import states
 from celery.utils import gen_unique_id
 
+from djcelery import celery
 from djcelery.models import TaskMeta, TaskSetMeta
-from djcelery.tests.utils import unittest
 from djcelery.utils import now
+from djcelery.tests.utils import unittest
 
 
 class TestModels(unittest.TestCase):
@@ -47,13 +47,13 @@
                 date_done=now() - timedelta(days=10))
 
         expired = TaskMeta.objects.get_all_expired(
-                    current_app.conf.CELERY_TASK_RESULT_EXPIRES)
+                    celery.conf.CELERY_TASK_RESULT_EXPIRES)
         self.assertIn(m1, expired)
         self.assertNotIn(m2, expired)
         self.assertNotIn(m3, expired)
 
         TaskMeta.objects.delete_expired(
-                    current_app.conf.CELERY_TASK_RESULT_EXPIRES)
+                    celery.conf.CELERY_TASK_RESULT_EXPIRES)
         self.assertNotIn(m1, TaskMeta.objects.all())
 
     def test_tasksetmeta(self):
@@ -73,13 +73,13 @@
                 date_done=now() - timedelta(days=10))
 
         expired = TaskSetMeta.objects.get_all_expired(
-                    current_app.conf.CELERY_TASK_RESULT_EXPIRES)
+                    celery.conf.CELERY_TASK_RESULT_EXPIRES)
         self.assertIn(m1, expired)
         self.assertNotIn(m2, expired)
         self.assertNotIn(m3, expired)
 
         TaskSetMeta.objects.delete_expired(
-                current_app.conf.CELERY_TASK_RESULT_EXPIRES)
+                celery.conf.CELERY_TASK_RESULT_EXPIRES)
         self.assertNotIn(m1, TaskSetMeta.objects.all())
 
         m4 = self.createTaskSetMeta()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-celery-3.0.9/djcelery/tests/test_schedulers.py 
new/django-celery-3.0.10/djcelery/tests/test_schedulers.py
--- old/django-celery-3.0.9/djcelery/tests/test_schedulers.py   2012-08-24 
18:51:58.000000000 +0200
+++ new/django-celery-3.0.10/djcelery/tests/test_schedulers.py  2012-09-21 
11:26:43.000000000 +0200
@@ -8,10 +8,9 @@
 from celery.utils.timeutils import timedelta_seconds
 
 from djcelery import schedulers
-from djcelery.app import app
+from djcelery import celery
 from djcelery.models import PeriodicTask, IntervalSchedule, CrontabSchedule
 from djcelery.models import PeriodicTasks
-from djcelery.utils import now
 from djcelery.tests.utils import unittest
 
 
@@ -86,7 +85,7 @@
                                        "exchange": "foo",
                                        "routing_key": "cpu"}, e.options)
 
-        right_now = now()
+        right_now = celery.now()
         m2 = create_model_interval(schedule(timedelta(seconds=10)),
                                    last_run_at=right_now)
         self.assertTrue(m2.last_run_at)
@@ -103,11 +102,11 @@
 
     def setUp(self):
         PeriodicTask.objects.all().delete()
-        self.prev_schedule = app.conf.CELERYBEAT_SCHEDULE
-        app.conf.CELERYBEAT_SCHEDULE = {}
+        self.prev_schedule = celery.conf.CELERYBEAT_SCHEDULE
+        celery.conf.CELERYBEAT_SCHEDULE = {}
         m1 = create_model_interval(schedule(timedelta(seconds=10)))
         m2 = create_model_interval(schedule(timedelta(minutes=20)))
-        m3 = create_model_crontab(crontab(minute="2,4,5", nowfun=now))
+        m3 = create_model_crontab(crontab(minute="2,4,5"))
         for obj in m1, m2, m3:
             obj.save()
         self.s = self.Scheduler()
@@ -116,7 +115,7 @@
         self.m3 = PeriodicTask.objects.get(name=m3.name)
 
     def tearDown(self):
-        app.conf.CELERYBEAT_SCHEDULE = self.prev_schedule
+        celery.conf.CELERYBEAT_SCHEDULE = self.prev_schedule
         PeriodicTask.objects.all().delete()
 
     def test_constructor(self):
@@ -158,11 +157,11 @@
     def test_reserve(self):
         e1 = self.s.schedule[self.m1.name]
         self.s.schedule[self.m1.name] = self.s.reserve(e1)
-        self.assertEqual(self.s.flushed, 2)
+        self.assertEqual(self.s.flushed, 1)
 
         e2 = self.s.schedule[self.m2.name]
         self.s.schedule[self.m2.name] = self.s.reserve(e2)
-        self.assertEqual(self.s.flushed, 2)
+        self.assertEqual(self.s.flushed, 1)
         self.assertIn(self.m2.name, self.s._dirty)
 
     def test_sync_saves_last_run_at(self):
@@ -177,14 +176,13 @@
         self.assertEqual(e2.last_run_at, last_run2)
 
     def test_sync_syncs_before_save(self):
-
         # Get the entry for m2
         e1 = self.s.schedule[self.m2.name]
 
         # Increment the entry (but make sure it doesn't sync)
         self.s._last_sync = time()
         e2 = self.s.schedule[e1.name] = self.s.reserve(e1)
-        self.assertEqual(self.s.flushed, 2)
+        self.assertEqual(self.s.flushed, 1)
 
         # Fetch the raw object from db, change the args
         # and save the changes.
@@ -195,7 +193,7 @@
         # get_schedule should now see the schedule has changed.
         # and also sync the dirty objects.
         e3 = self.s.schedule[self.m2.name]
-        self.assertEqual(self.s.flushed, 3)
+        self.assertEqual(self.s.flushed, 2)
         self.assertEqual(e3.last_run_at, e2.last_run_at)
         self.assertListEqual(e3.args, [16, 16])
 
@@ -239,8 +237,7 @@
                         "%s: every 10.0 seconds" % p.name)
 
     def test_PeriodicTask_unicode_crontab(self):
-        p = create_model_crontab(crontab(hour="4, 5", day_of_week="4, 5",
-                                 nowfun=now))
+        p = create_model_crontab(crontab(hour="4, 5", day_of_week="4, 5"))
         self.assertEqual(unicode(p),
                         "%s: * 4,5 4,5 * * (m/h/d/dM/MY)" % p.name)
 
@@ -252,8 +249,7 @@
         p2 = create_model_crontab(crontab(hour="4, 5",
                                           minute="10,20,30",
                                           day_of_month="1-7",
-                                          month_of_year="*/3",
-                                          nowfun=now))
+                                          month_of_year="*/3"))
         s2 = p2.schedule
         self.assertSetEqual(s2.hour, set([4, 5]))
         self.assertSetEqual(s2.minute, set([10, 20, 30]))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/djcelery/tests/test_snapshot.py 
new/django-celery-3.0.10/djcelery/tests/test_snapshot.py
--- old/django-celery-3.0.9/djcelery/tests/test_snapshot.py     2012-07-26 
15:34:21.000000000 +0200
+++ new/django-celery-3.0.10/djcelery/tests/test_snapshot.py    2012-09-21 
10:09:46.000000000 +0200
@@ -8,9 +8,10 @@
 from celery.events.state import State, Worker, Task
 from celery.utils import gen_unique_id
 
+from djcelery import celery
 from djcelery import snapshot
 from djcelery import models
-from djcelery.utils import now, make_aware
+from djcelery.utils import make_aware
 from djcelery.tests.utils import unittest
 
 _next_id = count(0).next
@@ -72,7 +73,7 @@
         self.assertEqual(mt.name, task.name)
         self.assertTrue(unicode(mt))
         self.assertTrue(repr(mt))
-        mt.eta = now()
+        mt.eta = celery.now()
         self.assertIn("eta", unicode(mt))
         self.assertIn(mt, models.TaskState.objects.active())
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/docs/changelog.rst 
new/django-celery-3.0.10/docs/changelog.rst
--- old/django-celery-3.0.9/docs/changelog.rst  2012-08-31 18:51:52.000000000 
+0200
+++ new/django-celery-3.0.10/docs/changelog.rst 2012-09-21 11:29:47.000000000 
+0200
@@ -5,6 +5,23 @@
 .. contents::
     :local:
 
+.. _version-3.0.10:
+
+3.0.10
+======
+:release-date: 2012-09-21 10:29 A.M BST
+
+- Now depends on Celery 3.0.10
+
+- Fixed timezone issues when using the Database periodic task scheduler.
+
+- Admin: Periodic task form now adds tasks imported using ``CELERY_IMPORTS``,
+  and ``CELERY_INCLUDE``.
+
+- Memory leak warning is now only output once.
+
+- Periodic task form in Admin no longer lists the celery built-in tasks.
+
 .. _version-3.0.9:
 
 3.0.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/docs/introduction.rst 
new/django-celery-3.0.10/docs/introduction.rst
--- old/django-celery-3.0.9/docs/introduction.rst       2012-08-31 
18:53:45.000000000 +0200
+++ new/django-celery-3.0.10/docs/introduction.rst      2012-09-21 
07:38:40.000000000 +0200
@@ -4,7 +4,7 @@
 
 .. image:: http://cloud.github.com/downloads/celery/celery/celery_128.png
 
-:Version: 3.0.9
+:Version: 3.0.10
 :Web: http://celeryproject.org/
 :Download: http://pypi.python.org/pypi/django-celery/
 :Source: http://github.com/celery/django-celery/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/requirements/default.txt 
new/django-celery-3.0.10/requirements/default.txt
--- old/django-celery-3.0.9/requirements/default.txt    2012-08-31 
18:52:05.000000000 +0200
+++ new/django-celery-3.0.10/requirements/default.txt   2012-09-21 
11:21:34.000000000 +0200
@@ -1 +1 @@
-celery>=3.0.9
+celery>=3.0.10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/setup.cfg 
new/django-celery-3.0.10/setup.cfg
--- old/django-celery-3.0.9/setup.cfg   2012-08-31 18:58:42.000000000 +0200
+++ new/django-celery-3.0.10/setup.cfg  2012-09-21 11:31:54.000000000 +0200
@@ -7,7 +7,7 @@
 upload-dir = docs/.build/html
 
 [bdist_rpm]
-requires = celery >= 3.0.9
+requires = celery >= 3.0.10
 
 [egg_info]
 tag_build = 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-celery-3.0.9/setup.py 
new/django-celery-3.0.10/setup.py
--- old/django-celery-3.0.9/setup.py    2012-08-31 18:52:22.000000000 +0200
+++ new/django-celery-3.0.10/setup.py   2012-09-21 11:21:29.000000000 +0200
@@ -173,7 +173,7 @@
     scripts=["bin/djcelerymon"],
     zip_safe=False,
     install_requires=[
-        "celery>=3.0.9",
+        "celery>=3.0.10",
     ],
     cmdclass={"test": RunTests,
               "quicktest": QuickRunTests,

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to