Skip to content

Celery beat UnicodeDecodeError (Python 3.4) issue #2907

@paulocheque

Description

@paulocheque

I am using Python 3.4 with Celery 3.1.19

Running without beat it works properly:

celery worker --app worker --config=celeryconfig --loglevel=info

But with celery beat:

celery worker --app worker -B --config=celeryconfig --loglevel=info

I got this exception:

Traceback (most recent call last):
  File "/env/lib/python3.4/site-packages/kombu/utils/__init__.py", line 320, in __get__
    return obj.__dict__[self.__name__]
KeyError: 'scheduler'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/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 "/env/lib/python3.4/site-packages/billiard/process.py", line 292, in _bootstrap
    self.run()
  File "/env/lib/python3.4/site-packages/celery/beat.py", line 530, in run
    self.service.start(embedded_process=True)
  File "/env/lib/python3.4/site-packages/celery/beat.py", line 454, in start
    humanize_seconds(self.scheduler.max_interval))
  File "/env/lib/python3.4/site-packages/kombu/utils/__init__.py", line 322, in __get__
    value = obj.__dict__[self.__name__] = self.__get(obj)
  File "/env/lib/python3.4/site-packages/celery/beat.py", line 494, in scheduler
    return self.get_scheduler()
  File "/env/lib/python3.4/site-packages/celery/beat.py", line 489, in get_scheduler
    lazy=lazy)
  File "/env/lib/python3.4/site-packages/celery/utils/imports.py", line 53, in instantiate
    return symbol_by_name(name)(*args, **kwargs)
  File "/env/lib/python3.4/site-packages/celery/beat.py", line 358, in __init__
    Scheduler.__init__(self, *args, **kwargs)
  File "/env/lib/python3.4/site-packages/celery/beat.py", line 185, in __init__
    self.setup_schedule()
  File "/env/lib/python3.4/site-packages/celery/beat.py", line 377, in setup_schedule
    self._store['entries']
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/shelve.py", line 114, in __getitem__
    value = Unpickler(f).load()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xdf in position 1: ordinal not in range(128)

Any ideas? Thanks in advance

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions