Когда я запускаю это локально на своем компьютере, все работает нормально. . Я обслуживаю приложение Flask с терминала VSCode, запускаю сервер Redis с помощью redis-server на экземпляре WSL и запускаю работника Celery на другом терминале VSCode с помощью celery -A app.celery worker -l info -P gevent (очевидно, это позволяет ему работать в Windows по непонятной мне причине).
Когда я пытаюсь запустить его удаленно, рабочий Celery, кажется, подключается только к брокер, а не бэкэнд. В этом случае приложение обслуживается с помощью демона на моем веб-хосте, и я запускаю сервер Redis и рабочий процесс Celery с помощью SSH (со временем они также будут у меня на демонах, но сначала мне нужно заставить его работать вручную). Я запускаю сервер, используя redis-server --protected-mode no, так как в данный момент я просто пытаюсь заставить его работать, и я использую celery -A app.celery worker - l info для запуска работника.
Когда я запускаю сервер, я получаю такой вывод:
Код: Выделить всё
7953:C 10 Nov 2024 16:20:27.355 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7953:C 10 Nov 2024 16:20:27.355 * Redis version=7.2.6, bits=64, commit=00000000, modified=0, pid=7953, just started
7953:C 10 Nov 2024 16:20:27.355 * Configuration loaded
7953:M 10 Nov 2024 16:20:27.355 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
7953:M 10 Nov 2024 16:20:27.355 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
7953:M 10 Nov 2024 16:20:27.355 # Current maximum open files is 2048. maxclients has been reduced to 2016 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
7953:M 10 Nov 2024 16:20:27.355 * monotonic clock: POSIX clock_gettime
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 7.2.6 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 7953
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | https://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
7953:M 10 Nov 2024 16:20:27.356 # Warning: Could not create server TCP listening socket ::*:6379: bind: Can't assign requested address
7953:M 10 Nov 2024 16:20:27.356 * Server initialized
7953:M 10 Nov 2024 16:20:27.357 * Loading RDB produced by version 7.2.6
7953:M 10 Nov 2024 16:20:27.357 * RDB age 2 seconds
7953:M 10 Nov 2024 16:20:27.357 * RDB memory usage when created 1.02 Mb
7953:M 10 Nov 2024 16:20:27.357 * Done loading RDB, keys loaded: 3, keys expired: 0.
7953:M 10 Nov 2024 16:20:27.357 * DB loaded from disk: 0.001 seconds
7953:M 10 Nov 2024 16:20:27.357 * Ready to accept connections tcp
Код: Выделить всё
-------------- celery@[username].[host] v5.4.0 (opalescent)
--- ***** -----
-- ******* ---- FreeBSD-13.3-RELEASE-p3-amd64-64bit-ELF 2024-11-10 16:16:46
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app: default:0x97756650 (.default.Loader)
- ** ---------- .> transport: redis://localhost:6379/0
- ** ---------- .> results: redis://localhost:6379/0
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
-------------- [queues]
.> celery exchange=celery(direct) key=celery
[tasks]
. app.celery_task
[2024-11-10 16:16:46,857: INFO/MainProcess] Connected to redis://localhost:6379/0
[2024-11-10 16:16:46,858: INFO/MainProcess] mingle: searching for neighbors
[2024-11-10 16:16:47,880: INFO/MainProcess] mingle: all alone
[2024-11-10 16:16:47,893: INFO/MainProcess] celery@[username].[host] ready.
Код: Выделить всё
ERROR:celery.backends.redis:Connection to Redis lost: Retry (0/20) now.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (1/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (2/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (3/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (4/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (5/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (6/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (7/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (8/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (9/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (10/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (11/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (12/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (13/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (14/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (15/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (16/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (17/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (18/20) in 1.00 second.
ERROR:celery.backends.redis:Connection to Redis lost: Retry (19/20) in 1.00 second.
CRITICAL:celery.backends.redis:
Retry limit exceeded while trying to reconnect to the Celery redis result store backend. The Celery application must be restarted.
Подробнее здесь: https://stackoverflow.com/questions/791 ... t-the-same