zoukankan      html  css  js  c++  java
  • celery定时任务启动报错

    启动celery时, 发现报错: KeyError: 'scheduler' KeyError: 'entries'

    [2020-12-15 14:53:11,669: ERROR/Beat] Process Beat
    Traceback (most recent call last):
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/site-packages/kombu/utils/objects.py", line 42, in __get__
        return obj.__dict__[self.__name__]
    KeyError: 'scheduler'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/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 "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/site-packages/billiard/process.py", line 327, in _bootstrap
        self.run()
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/site-packages/celery/beat.py", line 707, in run
        self.service.start(embedded_process=True)
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/site-packages/celery/beat.py", line 622, in start
        humanize_seconds(self.scheduler.max_interval))
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/site-packages/kombu/utils/objects.py", line 44, in __get__
        value = obj.__dict__[self.__name__] = self.__get(obj)
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/site-packages/celery/beat.py", line 666, in scheduler
        return self.get_scheduler()
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/site-packages/celery/beat.py", line 661, in get_scheduler
        lazy=lazy,
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/site-packages/celery/beat.py", line 501, in __init__
        Scheduler.__init__(self, *args, **kwargs)
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/site-packages/celery/beat.py", line 257, in __init__
        self.setup_schedule()
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/site-packages/celery/beat.py", line 529, in setup_schedule
        self._create_schedule()
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/site-packages/celery/beat.py", line 558, in _create_schedule
        self._store[str('entries')]
      File "/home/clear/anaconda3/envs/faissEnv/lib/python3.6/shelve.py", line 114, in __getitem__
        value = Unpickler(f).load()
    EOFError: Ran out of input
    

    解决办法:

    把celery启动目录中之前启动时自动生成的定时文件删除

    celerybeat-schedule.bak
    celerybeat-schedule.dat
    celerybeat-schedule.dir
    

  • 相关阅读:
    used内存较大,实际top查看系统进程中并没有占用这么多内存
    查看LINUX进程内存占用情况
    关于ConcurrentHashMap的key和value不能为null的深层次原因
    Linux修改用户所在组方法
    原因可能是托管的PInvoke签名与非托管的目标签名不匹配
    vs2019 实现C#调用c++的dll两种方法
    java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结
    java 读取文件的几种方式和通过url获取文件
    Idea中Maven的默认配置 (非常好)
    去哪儿网models数据更新
  • 原文地址:https://www.cnblogs.com/gcxblogs/p/14669493.html
Copyright © 2011-2022 走看看