Django-celery-beat: release 1.2.0 triggers periodic errors "Database error while sync: InterfaceError('connection already closed')"

Created on 25 Oct 2018  路  6Comments  路  Source: celery/django-celery-beat

After upgrading to django-celery-beat==1.2.0 I now get the below errors every three minutes.

My environment is:
Django==2.1.2
django-celery-beat==1.2.0
celery==4.2.1
psycopg2-binary==2.7.5
python 3.7
2 crontabs, no intervals

worker_1 | [2018-10-25 17:36:05,697: INFO/Beat] Writing entries... worker_1 | [2018-10-25 17:36:05,709: ERROR/Beat] Database error while sync: InterfaceError('connection already closed') worker_1 | Traceback (most recent call last): worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line 234, in _cursor worker_1 | return self._prepare_cursor(self.create_cursor(name)) worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/postgresql/base.py", line 222, in create_cursor worker_1 | cursor = self.connection.cursor() worker_1 | psycopg2.InterfaceError: connection already closed worker_1 | worker_1 | The above exception was the direct cause of the following exception: worker_1 | worker_1 | Traceback (most recent call last): worker_1 | File "/usr/local/lib/python3.7/site-packages/django_celery_beat/schedulers.py", line 262, in sync worker_1 | self.schedule[name].save() worker_1 | File "/usr/local/lib/python3.7/site-packages/django_celery_beat/schedulers.py", line 303, in schedule worker_1 | elif self.schedule_changed(): worker_1 | File "/usr/local/lib/python3.7/site-packages/django_celery_beat/schedulers.py", line 234, in schedule_changed worker_1 | last, ts = self._last_timestamp, self.Changes.last_change() worker_1 | File "/usr/local/lib/python3.7/site-packages/django_celery_beat/models.py", line 240, in last_change worker_1 | return cls.objects.get(ident=1).last_update worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method worker_1 | return getattr(self.get_queryset(), name)(*args, **kwargs) worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/models/query.py", line 393, in get worker_1 | num = len(clone) worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/models/query.py", line 250, in __len__ worker_1 | self._fetch_all() worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/models/query.py", line 1186, in _fetch_all worker_1 | self._result_cache = list(self._iterable_class(self)) worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/models/query.py", line 54, in __iter__ worker_1 | results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size) worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1063, in execute_sql worker_1 | cursor = self.connection.cursor() worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line 255, in cursor worker_1 | return self._cursor() worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line 234, in _cursor worker_1 | return self._prepare_cursor(self.create_cursor(name)) worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/utils.py", line 89, in __exit__ worker_1 | raise dj_exc_value.with_traceback(traceback) from exc_value worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line 234, in _cursor worker_1 | return self._prepare_cursor(self.create_cursor(name)) worker_1 | File "/usr/local/lib/python3.7/site-packages/django/db/backends/postgresql/base.py", line 222, in create_cursor worker_1 | cursor = self.connection.cursor() worker_1 | django.db.utils.InterfaceError: connection already closed

Most helpful comment

I released 1.3.0.

All 6 comments

+1, Same issue. Any ideas how to fix?

182

I think is this mr.

I'll close this after the next release if fixed.

+1, same here

+1, I'm waiting the next release 馃檹

I released 1.3.0.

Was this page helpful?
0 / 5 - 0 ratings