{"action":"created","issue":{"url":"https://api.github.com/repos/GeoNode/geonode/issues/2700","repository_url":"https://api.github.com/repos/GeoNode/geonode","labels_url":"https://api.github.com/repos/GeoNode/geonode/issues/2700/labels{/name}","comments_url":"https://api.github.com/repos/GeoNode/geonode/issues/2700/comments","events_url":"https://api.github.com/repos/GeoNode/geonode/issues/2700/events","html_url":"https://github.com/GeoNode/geonode/issues/2700","id":187589812,"number":2700,"title":"Celery 4.0 released, breaking change due to incompatibility with django-celery","user":{"login":"sarasafavi","id":1209376,"avatar_url":"https://avatars.githubusercontent.com/u/1209376?v=3","gravatar_id":"","url":"https://api.github.com/users/sarasafavi","html_url":"https://github.com/sarasafavi","followers_url":"https://api.github.com/users/sarasafavi/followers","following_url":"https://api.github.com/users/sarasafavi/following{/other_user}","gists_url":"https://api.github.com/users/sarasafavi/gists{/gist_id}","starred_url":"https://api.github.com/users/sarasafavi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sarasafavi/subscriptions","organizations_url":"https://api.github.com/users/sarasafavi/orgs","repos_url":"https://api.github.com/users/sarasafavi/repos","events_url":"https://api.github.com/users/sarasafavi/events{/privacy}","received_events_url":"https://api.github.com/users/sarasafavi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-11-06T21:17:19Z","updated_at":"2016-11-07T06:08:47Z","closed_at":null,"body":"Celery 4.0 was released this weekend, and [internal API changes](https://github.com/celery/celery/blob/master/docs/whatsnew-4.0.rst#changes-to-internal-api) make it no longer compatible with django-celery (specifically, renaming of the `celery.utils.timeutils` module). Since GeoNode setup pulls in [the latest celery](https://github.com/GeoNode/geonode/blob/master/setup.py#L121), this causes a pip-installed GeoNode to fail on startup.\r\n\r\nSee also https://github.com/GeoNode/geonode/issues/2246; may be a good time to revisit that and remove our dependence on django-celery totally.\r\n\r\nRelevant traceback for searchability:\r\n```\r\nUnhandled exception in thread started by <function wrapper at 0x7f08aefb3848>\r\nTraceback (most recent call last):\r\n  File \"/env/lib/python2.7/site-packages/django/utils/autoreload.py\", line 229, in wrapper\r\n    fn(*args, **kwargs)\r\n  File \"/env/lib/python2.7/site-packages/django/core/management/commands/runserver.py\", line 107, in inner_run\r\n    autoreload.raise_last_exception()\r\n  File \"/env/lib/python2.7/site-packages/django/utils/autoreload.py\", line 252, in raise_last_exception\r\n    six.reraise(*_exception)\r\n  File \"/env/lib/python2.7/site-packages/django/utils/autoreload.py\", line 229, in wrapper\r\n    fn(*args, **kwargs)\r\n  File \"/env/lib/python2.7/site-packages/django/__init__.py\", line 18, in setup\r\n    apps.populate(settings.INSTALLED_APPS)\r\n  File \"/env/lib/python2.7/site-packages/django/apps/registry.py\", line 108, in populate\r\n    app_config.import_models(all_models)\r\n  File \"/env/lib/python2.7/site-packages/django/apps/config.py\", line 198, in import_models\r\n    self.models_module = import_module(models_module_name)\r\n  File \"/usr/local/lib/python2.7/importlib/__init__.py\", line 37, in import_module\r\n    __import__(name)\r\n  File \"/env/lib/python2.7/site-packages/djcelery/models.py\", line 15, in <module>\r\n    from celery.utils.timeutils import timedelta_seconds\r\nImportError: No module named timeutils\r\n```"},"comment":{"url":"https://api.github.com/repos/GeoNode/geonode/issues/comments/258754634","html_url":"https://github.com/GeoNode/geonode/issues/2700#issuecomment-258754634","issue_url":"https://api.github.com/repos/GeoNode/geonode/issues/2700","id":258754634,"user":{"login":"pjdufour","id":1438253,"avatar_url":"https://avatars.githubusercontent.com/u/1438253?v=3","gravatar_id":"","url":"https://api.github.com/users/pjdufour","html_url":"https://github.com/pjdufour","followers_url":"https://api.github.com/users/pjdufour/followers","following_url":"https://api.github.com/users/pjdufour/following{/other_user}","gists_url":"https://api.github.com/users/pjdufour/gists{/gist_id}","starred_url":"https://api.github.com/users/pjdufour/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pjdufour/subscriptions","organizations_url":"https://api.github.com/users/pjdufour/orgs","repos_url":"https://api.github.com/users/pjdufour/repos","events_url":"https://api.github.com/users/pjdufour/events{/privacy}","received_events_url":"https://api.github.com/users/pjdufour/received_events","type":"User","site_admin":false},"created_at":"2016-11-07T06:08:47Z","updated_at":"2016-11-07T06:08:47Z","body":"Why do you want to remove django-celery?  Aren't we dependent on it for async taks, such as sending emails?"}}
{"actor":{"display_login":"pjdufour"}}