中指定了不同的地址
.env
DATABASE_URL=postgres://db_user:db_password@db/db_name
#DATABASE_URL=postgres://postgres:[email protected]/olx-killer
# Redis
#REDIS_URL=redis://localhost:6379
REDIS_URL=redis://redis:6379
i我决定在设置和ENV中评论与Redis和Celery有关的所有内容,也从Docker组成的文件中删除了Worker,但它仍然从某个地方带走并试图连接到本地主机。
SETTINGS.PY
# Redis
#REDIS_URL = os.getenv('REDIS_URL', 'redis://redis:6379/')
#REDIS_CACHE_URL = f'{REDIS_URL}/1'
# Celery
#CELERY_TIMEZONE = TIME_ZONE
#CELERY_TASK_TRACK_STARTED = True
#CELERY_BROKER_URL = REDIS_URL
#CELERY_RESULT_BACKEND = None
#CELERY_TASK_SERIALIZER = 'json'
#CELERY_RESULT_SERIALIZER = 'json'
#CELERY_ACCEPT_CONTENT = ['json']
docker-compose.yml
volumes:
pg_data:
driver: local
x-base: &base-backend
build: .
volumes:
- .:/code:delegated
depends_on:
- db
services:
backend:
<<: *base-backend
ports:
- "8000:8000"
env_file: .env
environment:
- DJANGO_SETTINGS_MODULE=settings.main
entrypoint: ["/code/entrypoint.sh"]
depends_on:
- db
restart: unless-stopped
db:
image: postgres:13
volumes:
- "pg_data:/var/lib/postgresql/data"
environment:
POSTGRES_DB: db_name
POSTGRES_USER: db_user
POSTGRES_PASSWORD: db_password
ports:
- "5432:5432"
restart: unless-stopped
db_1 | 2025-02-06 17:22:20.576 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
db_1 | 2025-02-06 17:22:20.577 UTC [1] LOG: listening on IPv6 address "::", port 5432
db_1 | 2025-02-06 17:22:20.581 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db_1 | 2025-02-06 17:22:20.588 UTC [63] LOG: database system was shut down at 2025-02-06 17:22:20 UTC
db_1 | 2025-02-06 17:22:20.596 UTC [1] LOG: database system is ready to accept connections
worker_1 | /usr/local/lib/python3.12/site-packages/celery/platforms.py:829: SecurityWarning: You're running the worker with superuser privileges: this is
worker_1 | absolutely not recommended!
worker_1 |
worker_1 | Please specify a different user using the --uid option.
worker_1 |
worker_1 | User information: uid=0 euid=0 gid=0 egid=0
worker_1 |
worker_1 | warnings.warn(SecurityWarning(ROOT_DISCOURAGED.format(
worker_1 |
worker_1 | -------------- celery@7625f54ed8c5 v5.4.0 (opalescent)
worker_1 | --- ***** -----
worker_1 | -- ******* ---- Linux-5.15.153.1-microsoft-standard-WSL2-x86_64-with-glibc2.36 2025-02-06 19:22:26
worker_1 | - *** --- * ---
worker_1 | - ** ---------- [config]
worker_1 | - ** ---------- .> app: OLX Clone:0x7f7e62f015b0
worker_1 | - ** ---------- .> transport: redis://localhost:6379//
worker_1 | - ** ---------- .> results: disabled://
worker_1 | - *** --- * --- .> concurrency: 12 (prefork)
worker_1 | -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
worker_1 | --- ***** -----
worker_1 | -------------- [queues]
worker_1 | .> celery exchange=celery(direct) key=celery
worker_1 |
worker_1 |
worker_1 | [tasks]
worker_1 | . delete_product_file
worker_1 |
worker_1 | [2025-02-06 19:22:28,120: WARNING/MainProcess] /usr/local/lib/python3.12/site-packages/celery/worker/consumer/consumer.py:508: CPendingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine
worker_1 | whether broker connection retries are made during startup in Celery 6.0 and above.
worker_1 | If you wish to retain the existing behavior for retrying connections on startup,
worker_1 | you should set broker_connection_retry_on_startup to True.
worker_1 | warnings.warn(
worker_1 |
worker_1 | [2025-02-06 19:22:28,124: ERROR/MainProcess] consumer: Cannot connect to redis://localhost:6379//: Error 99 connecting to localhost:6379. Cannot assign requested address..
worker_1 | Trying again in 2.00 seconds... (1/100)
worker_1 |
worker_1 | [2025-02-06 19:22:30,197: ERROR/MainProcess] consumer: Cannot connect to redis://localhost:6379//: Error 99 connecting to localhost:6379. Cannot assign requested address..
worker_1 | Trying again in 4.00 seconds... (2/100)
worker_1 |
backend_1 | Traceback (most recent call last):
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 279, in ensure_connection
backend_1 | self.connect()
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
backend_1 | return func(*args, **kwargs)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 256, in connect
backend_1 | self.connection = self.get_new_connection(conn_params)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
backend_1 | return func(*args, **kwargs)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/backends/postgresql/base.py", line 350, in get_new_connection
backend_1 | connection = self.Database.connect(**conn_params)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/psycopg2/__init__.py", line 122, in connect
backend_1 | conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | psycopg2.OperationalError: connection to server at "127.0.0.1", port 5432 failed: Connection refused
backend_1 | Is the server running on that host and accepting TCP/IP connections?
backend_1 |
backend_1 |
backend_1 | The above exception was the direct cause of the following exception:
backend_1 |
backend_1 | Traceback (most recent call last):
backend_1 | File "/code/manage.py", line 23, in <module>
backend_1 | main()
backend_1 | File "/code/manage.py", line 19, in main
backend_1 | execute_from_command_line(sys.argv)
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
backend_1 | utility.execute()
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute
backend_1 | self.fetch_command(subcommand).run_from_argv(self.argv)
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 413, in run_from_argv
backend_1 | self.execute(*args, **cmd_options)
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", line 459, in execute
backend_1 | output = self.handle(*args, **options)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/showmigrations.py", line 67, in handle
backend_1 | return self.show_list(connection, options["app_label"])
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/core/management/commands/showmigrations.py", line 86, in show_list
backend_1 | loader = MigrationLoader(connection, ignore_no_migrations=True)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/migrations/loader.py", line 58, in __init__
backend_1 | self.build_graph()
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/migrations/loader.py", line 235, in build_graph
backend_1 | self.applied_migrations = recorder.applied_migrations()
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/migrations/recorder.py", line 89, in applied_migrations
backend_1 | if self.has_table():
backend_1 | ^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/migrations/recorder.py", line 63, in has_table
backend_1 | with self.connection.cursor() as cursor:
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
backend_1 | return func(*args, **kwargs)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 320, in cursor
backend_1 | return self._cursor()
backend_1 | ^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 296, in _cursor
backend_1 | self.ensure_connection()
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
backend_1 | return func(*args, **kwargs)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 278, in ensure_connection
backend_1 | with self.wrap_database_errors:
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/utils.py", line 91, in __exit__
backend_1 | raise dj_exc_value.with_traceback(traceback) from exc_value
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 279, in ensure_connection
backend_1 | self.connect()
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
backend_1 | return func(*args, **kwargs)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 256, in connect
backend_1 | self.connection = self.get_new_connection(conn_params)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
backend_1 | return func(*args, **kwargs)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/django/db/backends/postgresql/base.py", line 350, in get_new_connection
backend_1 | connection = self.Database.connect(**conn_params)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | File "/usr/local/lib/python3.12/site-packages/psycopg2/__init__.py", line 122, in connect
backend_1 | conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
backend_1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
backend_1 | django.db.utils.OperationalError: connection to server at "127.0.0.1", port 5432 failed: Connection refused
backend_1 | Is the server running on that host and accepting TCP/IP connections?
backend_1 |
我尝试删除所有图像
docker-compose down --volumes --remove-orphans
docker system prune -a --volumes
但是它行不通。让我帮助您找到这个问题: 您共享的追溯说,即使您从docker-compose.yml文件中删除它,worker_1仍在上升。 您比Docker-Compose文件还多吗?也许是开发的,一个用于生产?