New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pypy] Beat errors on startup with "TypeError: expected string" #4533
Comments
This might be a PyPy bug since the same condition is used in PyPy3. |
That's the conclusion I eventually came to as well, though I had forgotten to report to PyPy. A fix in celery itself would still be helpful since Heroku does not like to update it's versions of PyPy offered in the python buildpack often (5.8.0 is the latest currently offered). |
I'll try to get to it this weekend. |
I've filed a bug upstream with PyPy |
I'm unable to reproduce this bug with PyPy 5.8.0. I've written the following test:
Unfortunately I can't get this to fail on my machine. Any instructions would be beneficial towards providing a proper workaround for this problem. |
Thats really odd. I checked out the source code, added that exact test case to I'm on macOS 10.13.3 if that makes a difference. My pythons are installed via Here's the test failure from
I can also replicate by creating a virtualenv of pypy2.7-5.8.0 with Celery 4.1.0 installed and running this inside of it: #!/usr/bin/env python
from __future__ import unicode_literals
from celery import Celery, beat
app = Celery('tasks', broker='pyamqp://guest@localhost//')
s = beat.PersistentScheduler(app=app, schedule_filename='celerybeat-schedule')
s.setup_schedule() Is there any other info I can provide for you that might be helpful? |
Maybe it's because you are using Mac so dbm is selected over other mechanisms. |
I'm wondering if this could be reproduced in Travis-CI using their MacOS builds. |
closing as per #4559 (comment) |
Checklist
celery -A proj report
in the issue.master
branch of Celery.Steps to reproduce
Celery is passing the beat schedule file name as unicode (
u'celerybeat-schedule'
) to the shelve module, which expects astr
:Downgrading to 3.1.25 fixes the issue. No 4.x release that I tried (or master) will work.
The text was updated successfully, but these errors were encountered: