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
+1, Same issue. Any ideas how to fix?
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.
Most helpful comment
I released 1.3.0.