# HG changeset patch # User Mads Kiilerich # Date 2016-09-05 22:51:18 # Node ID 4f2e231df22209543591320c3625addb29f08331 # Parent cf73bd884a537c22c181bcaf5015dbd4f26c7d09 celery: upgrade to Celery 3 Celery 3 is more than 2 and is the future and should be more stable than Celery 2. There might be problems like PRECONDITION_FAILED - cannot redeclare exchange 'celeryresults' in vhost 'kallithea' with different type, durable, internal or autodelete value when celery is upgraded and it tries to upgrade existing tasks. One way to avoid that problem: - make sure celery has run to completion and there are no important pending tasks, - delete the old vhost, - upgrade celery, - create new vhost - set permissions for vhost - profit diff --git a/kallithea/lib/celerypylons/__init__.py b/kallithea/lib/celerypylons/__init__.py --- a/kallithea/lib/celerypylons/__init__.py +++ b/kallithea/lib/celerypylons/__init__.py @@ -33,4 +33,4 @@ os.environ['CELERY_LOADER'] = CELERYPYLO import celery.app as app import celery.result as result from celery.task import task -from celery.bin import celeryd +from celery.bin import worker diff --git a/kallithea/lib/paster_commands/celeryd.py b/kallithea/lib/paster_commands/celeryd.py --- a/kallithea/lib/paster_commands/celeryd.py +++ b/kallithea/lib/paster_commands/celeryd.py @@ -24,7 +24,7 @@ class Command(BasePasterCommand): def update_parser(self): from kallithea.lib import celerypylons - cmd = celerypylons.celeryd.WorkerCommand(celerypylons.app.app_or_default()) + cmd = celerypylons.worker.worker(celerypylons.app.app_or_default()) for x in cmd.get_options(): self.parser.add_option(x) @@ -42,5 +42,5 @@ class Command(BasePasterCommand): kallithea.CELERY_ON = CELERY_ON load_rcextensions(config['here']) - cmd = celerypylons.celeryd.WorkerCommand(celerypylons.app.app_or_default()) + cmd = celerypylons.worker.worker(celerypylons.app.app_or_default()) return cmd.run(**vars(self.options)) diff --git a/setup.py b/setup.py --- a/setup.py +++ b/setup.py @@ -47,7 +47,7 @@ requirements = [ "Mako>=0.9.0,<=1.0.0", "pygments>=1.5", "whoosh>=2.4.0,<=2.5.7", - "celery>=2.2.5,<2.3", + "celery>=3.1,<3.2", "babel>=0.9.6,<=1.3", "python-dateutil>=1.5.0,<2.0.0", "markdown==2.2.1",