When I tried to run celery -A pagure.lib.tasks worker --loglevel=info -n celery, the following error occured:
celery -A pagure.lib.tasks worker --loglevel=info -n celery
Usage: celery [OPTIONS] COMMAND [ARGS]... Try 'celery --help' for help. Error: Invalid value for '-A' / '--app': Unable to load celery application. While trying to load the module pagure.lib.tasks the following error occurred: Traceback (most recent call last): File "/srv/pagure/.pyenv/versions/3.9.16/lib/python3.9/site-packages/celery/app/utils.py", line 384, in find_app sym = symbol_by_name(app, imp=imp) File "/srv/pagure/.pyenv/versions/3.9.16/lib/python3.9/site-packages/kombu/utils/imports.py", line 61, in symbol_by_name return getattr(module, cls_name) if cls_name else module AttributeError: module 'pagure.lib' has no attribute 'tasks' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/srv/pagure/.pyenv/versions/3.9.16/lib/python3.9/site-packages/celery/bin/celery.py", line 57, in convert return find_app(value) File "/srv/pagure/.pyenv/versions/3.9.16/lib/python3.9/site-packages/celery/app/utils.py", line 387, in find_app sym = imp(app) File "/srv/pagure/.pyenv/versions/3.9.16/lib/python3.9/site-packages/celery/utils/imports.py", line 105, in import_from_cwd return imp(module, package=package) File "/srv/pagure/.pyenv/versions/3.9.16/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/srv/pagure/pagure/pagure/lib/tasks.py", line 31, in <module> import pagure.lib.git File "/srv/pagure/pagure/pagure/lib/git.py", line 32, in <module> import pagure.hooks File "/srv/pagure/pagure/pagure/hooks/__init__.py", line 22, in <module> import pagure.lib.query File "/srv/pagure/pagure/pagure/lib/query.py", line 54, in <module> import pagure.lib.git_auth File "/srv/pagure/pagure/pagure/lib/git_auth.py", line 29, in <module> from pagure.lib import model File "/srv/pagure/pagure/pagure/lib/model.py", line 28, in <module> from sqlalchemy.orm import ( ImportError: cannot import name 'relation' from 'sqlalchemy.orm' (/srv/pagure/.pyenv/versions/3.9.16/lib/python3.9/site-packages/sqlalchemy/orm/__init__.py)
I patched as below, then celery ran successfully. Is this a bug?
--- model.py.bak 2023-02-14 02:20:00.570332518 +0900 +++ model.py 2023-02-14 02:22:56.807757392 +0900 @@ -25,9 +25,9 @@ import sqlalchemy as sa from sqlalchemy import create_engine from sqlalchemy.exc import SQLAlchemyError +from sqlalchemy.orm import relationship as relation from sqlalchemy.orm import ( backref, - relation, scoped_session, sessionmaker, validates,
OS: Debian 11.6 Python: 3.9.16
11.6
3.9.16
Hello,
Can you tell me resolve this issue? Because i got something like same issue so i need some way to resolve.
Mybkexperience
Metadata Update from @wombelix: - Issue assigned to wombelix
Metadata Update from @wombelix: - Issue set to the milestone: 6.0
Your patch is fine and this was caused by an sqlalchemy update, it's fixed in master and will be part of release 6.0
master
6.0
Metadata Update from @wombelix: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)