I am going through Celery tutorial. They are using Python2 and I am trying to implement the same using python3.
I have 2 files:
celery_proj.py :
from celery import Celery app = Celery( 'proj', broker='amqp://', backend='amqp://', include=['proj.tasks']) app.conf.update(Celery_TAST_RESULT_EXPIRES=3600,) if __name__ == '__main__': app.start()
and tasks.py :
from celery_proj import app @app.task def add(x, y): return x + y @app.task def mul(x, y): return x * y @app.task def xsum(numbers): return sum(numbers)
When I try to run celery -A proj worker -l info
I am getting :
Traceback (most recent call last): File "/usr/local/lib/python3.4/dist-packages/celery/app/utils.py", line 235, in find_app found = sym.app AttributeError: 'module' object has no attribute 'app' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/bin/celery", line 11, in <module> sys.exit(main()) File "/usr/local/lib/python3.4/dist-packages/celery/__main__.py", line 30, in main main() File "/usr/local/lib/python3.4/dist-packages/celery/bin/celery.py", line 81, in main cmd.execute_from_commandline(argv) File "/usr/local/lib/python3.4/dist-packages/celery/bin/celery.py", line 769, in execute_from_commandline super(CeleryCommand, self).execute_from_commandline(argv))) File "/usr/local/lib/python3.4/dist-packages/celery/bin/base.py", line 309, in execute_from_commandline argv = self.setup_app_from_commandline(argv) File "/usr/local/lib/python3.4/dist-packages/celery/bin/base.py", line 469, in setup_app_from_commandline self.app = self.find_app(app) File "/usr/local/lib/python3.4/dist-packages/celery/bin/base.py", line 489, in find_app return find_app(app, symbol_by_name=self.symbol_by_name) File "/usr/local/lib/python3.4/dist-packages/celery/app/utils.py", line 240, in find_app found = sym.celery AttributeError: 'module' object has no attribute 'celery'
What am I doing wrong and how to fix this?