Skip to content
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

Celery and Flask restarting-loop #87

Closed
nikitah4x opened this issue Dec 18, 2022 · 2 comments
Closed

Celery and Flask restarting-loop #87

nikitah4x opened this issue Dec 18, 2022 · 2 comments

Comments

@nikitah4x
Copy link

Describe the bug
First of all when I'm doing docker-compose pull, I'm getting the following WARNING:
WARNING: Some service image(s) must be built from source by running:
docker-compose build celery flask

If I'm doing it or not, the flask and celery are keep restarting every time.

To Reproduce
Steps to reproduce the behavior:

  1. docker-compose pull
  2. docker-compose up -d
  3. Flask and Celery restarting loop

docker version: Docker version 20.10.22, build 3a2c30b
docker-compose version: docker-compose version 1.29.2, build 5becea4c

Screenshots
image

tail on flask
image

tail on celery
image

Additional context

Full outputs for tail commands on Flask and Celery.

Flask:
Attaching to kuiper_flask flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 | flask_1 | flask_1 | Error: class uri 'gevent' invalid or not found: flask_1 | flask_1 | [Traceback (most recent call last): flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 142, in load_class flask_1 | mod = import_module('.'.join(components)) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 20, in <module> flask_1 | import gevent flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 | flask_1 | flask_1 | Error: class uri 'gevent' invalid or not found: flask_1 | flask_1 | [Traceback (most recent call last): flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 142, in load_class flask_1 | mod = import_module('.'.join(components)) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 20, in <module> flask_1 | import gevent flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 | flask_1 | flask_1 | Error: class uri 'gevent' invalid or not found: flask_1 | flask_1 | [Traceback (most recent call last): flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 142, in load_class flask_1 | mod = import_module('.'.join(components)) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 20, in <module> flask_1 | import gevent flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 | flask_1 | flask_1 | Error: class uri 'gevent' invalid or not found: flask_1 | flask_1 | [Traceback (most recent call last): flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 142, in load_class flask_1 | mod = import_module('.'.join(components)) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 20, in <module> flask_1 | import gevent flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 | flask_1 | flask_1 | Error: class uri 'gevent' invalid or not found: flask_1 | flask_1 | [Traceback (most recent call last): flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 142, in load_class flask_1 | mod = import_module('.'.join(components)) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 20, in <module> flask_1 | import gevent flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> flask_1 | from gevent._hub_local import get_hub flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> flask_1 | import_c_accel(globals(), 'gevent.__hub_local') flask_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel flask_1 | mod = importlib.import_module(cname) flask_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module flask_1 | __import__(name) flask_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local flask_1 | ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject flask_1 | ] flask_1 |

Celery:
celery_1 | return find_app(app, symbol_by_name=self.symbol_by_name) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/app/utils.py", line 368, in find_app celery_1 | sym = symbol_by_name(app, imp=imp) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/base.py", line 527, in symbol_by_name celery_1 | return imports.symbol_by_name(name, imp=imp) celery_1 | File "/usr/local/lib/python2.7/site-packages/kombu/utils/imports.py", line 61, in symbol_by_name celery_1 | sys.exc_info()[2]) celery_1 | File "/usr/local/lib/python2.7/site-packages/kombu/utils/imports.py", line 57, in symbol_by_name celery_1 | module = imp(module_name, package=package, **kwargs) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/utils/imports.py", line 111, in import_from_cwd celery_1 | return imp(module, package=package) celery_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module celery_1 | __import__(name) celery_1 | File "/app/app/__init__.py", line 176, in <module> celery_1 | from controllers import case_management,admin_management,API_management celery_1 | File "/app/app/controllers/case_management.py", line 22, in <module> celery_1 | import parser_management celery_1 | File "/app/app/controllers/parser_management.py", line 22, in <module> celery_1 | from app.database.dbstuff import * celery_1 | File "/app/app/database/dbstuff.py", line 4, in <module> celery_1 | from pymongo import MongoClient celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/__init__.py", line 92, in <module> celery_1 | from pymongo.connection import Connection celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/connection.py", line 39, in <module> celery_1 | from pymongo.mongo_client import MongoClient celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 46, in <module> celery_1 | from pymongo import (auth, celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/pool.py", line 22, in <module> celery_1 | from pymongo import thread_util celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/thread_util.py", line 31, in <module> celery_1 | from gevent.lock import BoundedSemaphore as GeventBoundedSemaphore celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> celery_1 | from gevent._hub_local import get_hub celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> celery_1 | import_c_accel(globals(), 'gevent.__hub_local') celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel celery_1 | mod = importlib.import_module(cname) celery_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module celery_1 | __import__(name) celery_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local celery_1 | ValueError: Couldn't import 'app.celery_app': greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject celery_1 | Traceback (most recent call last): celery_1 | File "/usr/local/lib/python2.7/runpy.py", line 174, in _run_module_as_main celery_1 | "__main__", fname, loader, pkg_name) celery_1 | File "/usr/local/lib/python2.7/runpy.py", line 72, in _run_code celery_1 | exec code in run_globals celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/__main__.py", line 20, in <module> celery_1 | main() celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/__main__.py", line 16, in main celery_1 | _main() celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/celery.py", line 322, in main celery_1 | cmd.execute_from_commandline(argv) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/celery.py", line 496, in execute_from_commandline celery_1 | super(CeleryCommand, self).execute_from_commandline(argv))) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/base.py", line 288, in execute_from_commandline celery_1 | argv = self.setup_app_from_commandline(argv) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/base.py", line 502, in setup_app_from_commandline celery_1 | self.app = self.find_app(app) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/base.py", line 524, in find_app celery_1 | return find_app(app, symbol_by_name=self.symbol_by_name) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/app/utils.py", line 368, in find_app celery_1 | sym = symbol_by_name(app, imp=imp) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/bin/base.py", line 527, in symbol_by_name celery_1 | return imports.symbol_by_name(name, imp=imp) celery_1 | File "/usr/local/lib/python2.7/site-packages/kombu/utils/imports.py", line 61, in symbol_by_name celery_1 | sys.exc_info()[2]) celery_1 | File "/usr/local/lib/python2.7/site-packages/kombu/utils/imports.py", line 57, in symbol_by_name celery_1 | module = imp(module_name, package=package, **kwargs) celery_1 | File "/usr/local/lib/python2.7/site-packages/celery/utils/imports.py", line 111, in import_from_cwd celery_1 | return imp(module, package=package) celery_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module celery_1 | __import__(name) celery_1 | File "/app/app/__init__.py", line 176, in <module> celery_1 | from controllers import case_management,admin_management,API_management celery_1 | File "/app/app/controllers/case_management.py", line 22, in <module> celery_1 | import parser_management celery_1 | File "/app/app/controllers/parser_management.py", line 22, in <module> celery_1 | from app.database.dbstuff import * celery_1 | File "/app/app/database/dbstuff.py", line 4, in <module> celery_1 | from pymongo import MongoClient celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/__init__.py", line 92, in <module> celery_1 | from pymongo.connection import Connection celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/connection.py", line 39, in <module> celery_1 | from pymongo.mongo_client import MongoClient celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 46, in <module> celery_1 | from pymongo import (auth, celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/pool.py", line 22, in <module> celery_1 | from pymongo import thread_util celery_1 | File "/usr/local/lib/python2.7/site-packages/pymongo/thread_util.py", line 31, in <module> celery_1 | from gevent.lock import BoundedSemaphore as GeventBoundedSemaphore celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/__init__.py", line 87, in <module> celery_1 | from gevent._hub_local import get_hub celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_hub_local.py", line 101, in <module> celery_1 | import_c_accel(globals(), 'gevent.__hub_local') celery_1 | File "/usr/local/lib/python2.7/site-packages/gevent/_util.py", line 105, in import_c_accel celery_1 | mod = importlib.import_module(cname) celery_1 | File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module celery_1 | __import__(name) celery_1 | File "src/gevent/__greenlet_primitives.pxd", line 12, in init gevent.__hub_local celery_1 | ValueError: Couldn't import 'app.celery_app': greenlet.greenlet size changed, may indicate binary incompatibility. Expected 128 from C header, got 40 from PyObject kuiper_celery exited with code 1

@salehmuhaysin
Copy link
Collaborator

hello
try this fix
#85

@nikitah4x
Copy link
Author

Okay, this fix worked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants