如何重新启动celery beat容器或解决KeyError(b'entries')?

How to restart celery beat container or resolve KeyError(b'entries')?

提问人:user16613127 提问时间:11/16/2023 最后编辑:Cowuser16613127 更新时间:11/16/2023 访问量:18

问:

我的 ecs fargate celery beat 容器在部署后的几个小时内运行良好。

但过了一段时间,错误如下所示

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/shelve.py", line 111, in __getitem__
    value = self.cache[key]
KeyError: 'entries'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/celery/apps/beat.py", line 105, in start_scheduler
    service.start()
  File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 645, in start
    interval = self.scheduler.tick()
  File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 341, in tick
    not self.schedules_equal(self.old_schedulers, self.schedule)):
  File "/usr/local/lib/python3.9/site-packages/celery/beat.py", line 593, in get_schedule
    return self._store['entries']
  File "/usr/local/lib/python3.9/shelve.py", line 113, in __getitem__
    f = BytesIO(self.dict[key.encode(self.keyencoding)])
KeyError: b'entries'

我以为要自动重启,但我的烧瓶容器和芹菜容器是分开的。所以很难使用主管。

有没有办法自动重启 ecs 容器?或者如何解决?KeyError: b'entries'

我怀疑调度程序数据库的celerybeat-schedule文件。但每个 ecs 部署都会创建新的 celerybeat-schedule。所以我认为这并不重要。

帮帮我。谢谢。

python 芹菜 amazon-ecs 主管 celerybeat

评论


答: 暂无答案