mirror of
https://github.com/Balshgit/different
synced 2025-09-11 02:50:41 +03:00
celery log example with different settings
This commit is contained in:
parent
a99094e6b1
commit
53967d3961
3
.idea/.gitignore
generated
vendored
Normal file
3
.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
8
.idea/different.iml
generated
Normal file
8
.idea/different.iml
generated
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
4
.idea/misc.xml
generated
Normal file
4
.idea/misc.xml
generated
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8" project-jdk-type="Python SDK" />
|
||||
</project>
|
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/different.iml" filepath="$PROJECT_DIR$/.idea/different.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
45
celery_log_docker/Dockerfile
Normal file
45
celery_log_docker/Dockerfile
Normal file
@ -0,0 +1,45 @@
|
||||
FROM python:3.8.9-slim-buster
|
||||
|
||||
ENV BUILD_ONLY_PACKAGES='wget' \
|
||||
# python:
|
||||
PYTHONFAULTHANDLER=1 \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
PYTHONHASHSEED=random \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
# pip:
|
||||
PIP_NO_CACHE_DIR=off \
|
||||
PIP_DISABLE_PIP_VERSION_CHECK=on \
|
||||
PIP_DEFAULT_TIMEOUT=100 \
|
||||
# poetry:
|
||||
POETRY_VERSION=1.1.4 \
|
||||
POETRY_NO_INTERACTION=1 \
|
||||
POETRY_VIRTUALENVS_CREATE=false \
|
||||
POETRY_CACHE_DIR='/var/cache/pypoetry' \
|
||||
PATH="$PATH:/root/.poetry/bin"
|
||||
|
||||
# System deps:
|
||||
RUN apt-get update \
|
||||
&& apt-get install --no-install-recommends -y \
|
||||
bash \
|
||||
build-essential \
|
||||
gettext \
|
||||
libpq-dev \
|
||||
nano \
|
||||
curl \
|
||||
# Defining build-time-only dependencies:
|
||||
$BUILD_ONLY_PACKAGES \
|
||||
&& curl -sSL 'https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py' | python \
|
||||
&& poetry --version \
|
||||
# Removing build-time-only dependencies:
|
||||
&& apt-get remove -y $BUILD_ONLY_PACKAGES \
|
||||
# Cleaning cache:
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/* \
|
||||
&& rm -rf $POETRY_CACHE_DIR
|
||||
|
||||
WORKDIR /code
|
||||
|
||||
# Copy only requirements, to cache them in docker layer
|
||||
COPY ./poetry.lock ./pyproject.toml /code/
|
||||
RUN poetry install
|
||||
COPY . /code
|
1
celery_log_docker/__init__.py
Normal file
1
celery_log_docker/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
|
143
celery_log_docker/celery.log
Normal file
143
celery_log_docker/celery.log
Normal file
@ -0,0 +1,143 @@
|
||||
[2021-09-06 17:05:09,677: ERROR/MainProcess] consumer: Cannot connect to amqp://rabbit_admin:**@rabbitmq_host:5672//: [Errno 111] Connection refused.
|
||||
Trying again in 2.00 seconds... (1/100)
|
||||
|
||||
[2021-09-06 17:05:11,684: ERROR/MainProcess] consumer: Cannot connect to amqp://rabbit_admin:**@rabbitmq_host:5672//: [Errno 111] Connection refused.
|
||||
Trying again in 4.00 seconds... (2/100)
|
||||
|
||||
[2021-09-06 17:05:15,699: INFO/MainProcess] Connected to amqp://rabbit_admin:**@rabbitmq_host:5672//
|
||||
[2021-09-06 17:05:15,705: INFO/MainProcess] mingle: searching for neighbors
|
||||
[2021-09-06 17:05:16,728: INFO/MainProcess] mingle: all alone
|
||||
[2021-09-06 17:05:16,741: INFO/MainProcess] celery@5885d9799983 ready.
|
||||
[2021-09-06 17:06:10,637: INFO/MainProcess] Task main.test[8fc376db-1752-4dfc-a9b3-94d5b4a53524] received
|
||||
[2021-09-06 17:06:10,637: INFO/ForkPoolWorker-1] WE ARE HERE
|
||||
[2021-09-06 17:06:10,637: WARNING/ForkPoolWorker-1] 4
|
||||
[2021-09-06 17:06:10,638: WARNING/ForkPoolWorker-1]
|
||||
|
||||
[2021-09-06 17:06:10,638: INFO/ForkPoolWorker-1] 4
|
||||
[2021-09-06 17:06:10,651: INFO/ForkPoolWorker-1] Task main.test[8fc376db-1752-4dfc-a9b3-94d5b4a53524] succeeded in 0.013417366000794573s: 4
|
||||
[2021-09-06 17:07:11,945: WARNING/MainProcess] consumer: Connection to broker lost. Trying to re-establish the connection...
|
||||
Traceback (most recent call last):
|
||||
File "/usr/local/lib/python3.8/site-packages/celery/worker/consumer/consumer.py", line 326, in start
|
||||
blueprint.start(self)
|
||||
File "/usr/local/lib/python3.8/site-packages/celery/bootsteps.py", line 116, in start
|
||||
step.start(parent)
|
||||
File "/usr/local/lib/python3.8/site-packages/celery/worker/consumer/consumer.py", line 618, in start
|
||||
c.loop(*c.loop_args())
|
||||
File "/usr/local/lib/python3.8/site-packages/celery/worker/loops.py", line 81, in asynloop
|
||||
next(loop)
|
||||
File "/usr/local/lib/python3.8/site-packages/kombu/asynchronous/hub.py", line 361, in create_loop
|
||||
cb(*cbargs)
|
||||
File "/usr/local/lib/python3.8/site-packages/kombu/transport/base.py", line 235, in on_readable
|
||||
reader(loop)
|
||||
File "/usr/local/lib/python3.8/site-packages/kombu/transport/base.py", line 217, in _read
|
||||
drain_events(timeout=0)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/connection.py", line 523, in drain_events
|
||||
while not self.blocking_read(timeout):
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/connection.py", line 529, in blocking_read
|
||||
return self.on_inbound_frame(frame)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/method_framing.py", line 53, in on_frame
|
||||
callback(channel, method_sig, buf, None)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/connection.py", line 535, in on_inbound_method
|
||||
return self.channels[channel_id].dispatch_method(
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/abstract_channel.py", line 143, in dispatch_method
|
||||
listener(*args)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/connection.py", line 664, in _on_close
|
||||
self._x_close_ok()
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/connection.py", line 679, in _x_close_ok
|
||||
self.send_method(spec.Connection.CloseOk, callback=self._on_close_ok)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/abstract_channel.py", line 57, in send_method
|
||||
conn.frame_writer(1, self.channel_id, sig, args, content)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/method_framing.py", line 183, in write_frame
|
||||
write(view[:offset])
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/transport.py", line 352, in write
|
||||
self._write(s)
|
||||
ConnectionResetError: [Errno 104] Connection reset by peer
|
||||
[2021-09-06 17:07:11,947: WARNING/MainProcess] /usr/local/lib/python3.8/site-packages/celery/worker/consumer/consumer.py:361: CPendingDeprecationWarning:
|
||||
In Celery 5.1 we introduced an optional breaking change which
|
||||
on connection loss cancels all currently executed tasks with late acknowledgement enabled.
|
||||
These tasks cannot be acknowledged as the connection is gone, and the tasks are automatically redelivered back to the queue.
|
||||
You can enable this behavior using the worker_cancel_long_running_tasks_on_connection_loss setting.
|
||||
In Celery 5.1 it is set to False by default. The setting will be set to True by default in Celery 6.0.
|
||||
|
||||
warnings.warn(CANCEL_TASKS_BY_DEFAULT, CPendingDeprecationWarning)
|
||||
|
||||
[2021-09-06 17:07:19,647: ERROR/MainProcess] consumer: Cannot connect to amqp://rabbit_admin:**@rabbitmq_host:5672//: [Errno 111] Connection refused.
|
||||
Trying again in 2.00 seconds... (1/100)
|
||||
|
||||
[2021-09-06 17:07:20,045: ERROR/MainProcess] consumer: Cannot connect to amqp://rabbit_admin:**@rabbitmq_host:5672//: [Errno 111] Connection refused.
|
||||
Trying again in 2.00 seconds... (1/100)
|
||||
|
||||
[2021-09-06 17:07:21,654: ERROR/MainProcess] consumer: Cannot connect to amqp://rabbit_admin:**@rabbitmq_host:5672//: [Errno 111] Connection refused.
|
||||
Trying again in 4.00 seconds... (2/100)
|
||||
|
||||
[2021-09-06 17:07:22,053: ERROR/MainProcess] consumer: Cannot connect to amqp://rabbit_admin:**@rabbitmq_host:5672//: [Errno 111] Connection refused.
|
||||
Trying again in 4.00 seconds... (2/100)
|
||||
|
||||
[2021-09-06 17:07:25,684: INFO/MainProcess] Connected to amqp://rabbit_admin:**@rabbitmq_host:5672//
|
||||
[2021-09-06 17:07:25,710: INFO/MainProcess] mingle: searching for neighbors
|
||||
[2021-09-06 17:07:26,079: INFO/MainProcess] Connected to amqp://rabbit_admin:**@rabbitmq_host:5672//
|
||||
[2021-09-06 17:07:26,098: INFO/MainProcess] mingle: searching for neighbors
|
||||
[2021-09-06 17:07:26,739: INFO/MainProcess] mingle: all alone
|
||||
[2021-09-06 17:07:26,782: INFO/MainProcess] celery@2f1496df298b ready.
|
||||
[2021-09-06 17:07:27,128: INFO/MainProcess] mingle: all alone
|
||||
[2021-09-06 17:07:27,174: INFO/MainProcess] celery@265915b3bb4d ready.
|
||||
[2021-09-06 17:07:42,029: INFO/MainProcess] Task main.test[7e78bcba-0161-45b9-b7bf-05bc9a532a46] received
|
||||
[2021-09-06 17:07:42,029: INFO/ForkPoolWorker-1] WE ARE HERE
|
||||
[2021-09-06 17:07:42,030: WARNING/ForkPoolWorker-1] 4
|
||||
[2021-09-06 17:07:42,030: WARNING/ForkPoolWorker-1]
|
||||
|
||||
[2021-09-06 17:07:42,030: INFO/ForkPoolWorker-1] 4
|
||||
[2021-09-06 17:07:42,043: INFO/ForkPoolWorker-1] Task main.test[7e78bcba-0161-45b9-b7bf-05bc9a532a46] succeeded in 0.01332545499826665s: 4
|
||||
[2021-09-06 17:08:05,780: INFO/MainProcess] Task main.test[85d97d31-2029-41c6-a576-50ba61240007] received
|
||||
[2021-09-06 17:08:05,781: INFO/ForkPoolWorker-1] WE ARE HERE
|
||||
[2021-09-06 17:08:05,781: WARNING/ForkPoolWorker-1] 4
|
||||
[2021-09-06 17:08:05,781: WARNING/ForkPoolWorker-1]
|
||||
|
||||
[2021-09-06 17:08:05,781: INFO/ForkPoolWorker-1] 4
|
||||
[2021-09-06 17:08:05,795: INFO/ForkPoolWorker-1] Task main.test[85d97d31-2029-41c6-a576-50ba61240007] succeeded in 0.013929769000242231s: 4
|
||||
[2021-09-06 17:13:37,692: WARNING/MainProcess] consumer: Connection to broker lost. Trying to re-establish the connection...
|
||||
Traceback (most recent call last):
|
||||
File "/usr/local/lib/python3.8/site-packages/celery/worker/consumer/consumer.py", line 326, in start
|
||||
blueprint.start(self)
|
||||
File "/usr/local/lib/python3.8/site-packages/celery/bootsteps.py", line 116, in start
|
||||
step.start(parent)
|
||||
File "/usr/local/lib/python3.8/site-packages/celery/worker/consumer/consumer.py", line 618, in start
|
||||
c.loop(*c.loop_args())
|
||||
File "/usr/local/lib/python3.8/site-packages/celery/worker/loops.py", line 81, in asynloop
|
||||
next(loop)
|
||||
File "/usr/local/lib/python3.8/site-packages/kombu/asynchronous/hub.py", line 361, in create_loop
|
||||
cb(*cbargs)
|
||||
File "/usr/local/lib/python3.8/site-packages/kombu/transport/base.py", line 235, in on_readable
|
||||
reader(loop)
|
||||
File "/usr/local/lib/python3.8/site-packages/kombu/transport/base.py", line 217, in _read
|
||||
drain_events(timeout=0)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/connection.py", line 523, in drain_events
|
||||
while not self.blocking_read(timeout):
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/connection.py", line 529, in blocking_read
|
||||
return self.on_inbound_frame(frame)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/method_framing.py", line 53, in on_frame
|
||||
callback(channel, method_sig, buf, None)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/connection.py", line 535, in on_inbound_method
|
||||
return self.channels[channel_id].dispatch_method(
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/abstract_channel.py", line 143, in dispatch_method
|
||||
listener(*args)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/connection.py", line 664, in _on_close
|
||||
self._x_close_ok()
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/connection.py", line 679, in _x_close_ok
|
||||
self.send_method(spec.Connection.CloseOk, callback=self._on_close_ok)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/abstract_channel.py", line 57, in send_method
|
||||
conn.frame_writer(1, self.channel_id, sig, args, content)
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/method_framing.py", line 183, in write_frame
|
||||
write(view[:offset])
|
||||
File "/usr/local/lib/python3.8/site-packages/amqp/transport.py", line 352, in write
|
||||
self._write(s)
|
||||
ConnectionResetError: [Errno 104] Connection reset by peer
|
||||
[2021-09-06 17:13:37,693: WARNING/MainProcess] /usr/local/lib/python3.8/site-packages/celery/worker/consumer/consumer.py:361: CPendingDeprecationWarning:
|
||||
In Celery 5.1 we introduced an optional breaking change which
|
||||
on connection loss cancels all currently executed tasks with late acknowledgement enabled.
|
||||
These tasks cannot be acknowledged as the connection is gone, and the tasks are automatically redelivered back to the queue.
|
||||
You can enable this behavior using the worker_cancel_long_running_tasks_on_connection_loss setting.
|
||||
In Celery 5.1 it is set to False by default. The setting will be set to True by default in Celery 6.0.
|
||||
|
||||
warnings.warn(CANCEL_TASKS_BY_DEFAULT, CPendingDeprecationWarning)
|
||||
|
57
celery_log_docker/celery_config.py
Normal file
57
celery_log_docker/celery_config.py
Normal file
@ -0,0 +1,57 @@
|
||||
from celery import Celery
|
||||
from celery.signals import after_setup_logger
|
||||
from celery.utils.log import get_task_logger
|
||||
# from server.settings.components import config
|
||||
from pathlib import Path, PurePath
|
||||
from decouple import AutoConfig
|
||||
import logging
|
||||
|
||||
|
||||
logger = logging.getLogger('My_logger')
|
||||
|
||||
# @after_setup_logger.connect
|
||||
def conf_celery_logger(logger, **kwargs):
|
||||
formatter = logging.Formatter(datefmt="%Y.%m.%d %H:%M:%S",
|
||||
fmt='%(asctime)s | %(levelname)s | '
|
||||
'process: %(process)d | '
|
||||
'module name: %(name)s | '
|
||||
'func name: %(funcName)s | '
|
||||
'line number: %(lineno)s | '
|
||||
'message: %(message)s',)
|
||||
handler = logging.FileHandler('log.log')
|
||||
handler.setLevel('DEBUG')
|
||||
handler.setFormatter(formatter)
|
||||
logger.addHandler(handler)
|
||||
logger.setLevel('DEBUG')
|
||||
|
||||
|
||||
conf_celery_logger(logger)
|
||||
|
||||
# BASE_DIR = Path.cwd().parent.parent
|
||||
BASE_DIR = PurePath(__file__).parent
|
||||
|
||||
config = AutoConfig(search_path=BASE_DIR.joinpath('config'))
|
||||
|
||||
RABBITMQ_DEFAULT_USER = config('RABBITMQ_DEFAULT_USER')
|
||||
RABBITMQ_DEFAULT_PASS = config('RABBITMQ_DEFAULT_PASS')
|
||||
RABBITMQ_PORT = config('RABBITMQ_PORT', cast=int, default=5672)
|
||||
RABBITMQ_HOST = config('RABBITMQ_HOST')
|
||||
|
||||
|
||||
celery_app = Celery(
|
||||
'tasks',
|
||||
broker='amqp://{login}:{password}@{host}:{port}'.format(
|
||||
login=RABBITMQ_DEFAULT_USER,
|
||||
password=RABBITMQ_DEFAULT_PASS,
|
||||
host=RABBITMQ_HOST,
|
||||
port=RABBITMQ_PORT,
|
||||
),
|
||||
backend='rpc://',
|
||||
)
|
||||
|
||||
celery_app.config_from_object('config.celeryconfig')
|
||||
# celery_app.conf.update({'worker_hijack_root_logger': False})
|
||||
|
||||
celery_app.autodiscover_tasks()
|
||||
|
||||
logger.info(f"{__name__} imported {celery_app.conf['worker_hijack_root_logger']}")
|
7
celery_log_docker/config/.env
Normal file
7
celery_log_docker/config/.env
Normal file
@ -0,0 +1,7 @@
|
||||
RABBITMQ_DEFAULT_USER=rabbit_admin
|
||||
RABBITMQ_DEFAULT_PASS=rabbit_password
|
||||
RABBITMQ_PORT=5672
|
||||
RABBITMQ_HOST=rabbitmq_host
|
||||
|
||||
# =======Celery worker as root======
|
||||
#C_FORCE_ROOT=true
|
0
celery_log_docker/config/__init__.py
Normal file
0
celery_log_docker/config/__init__.py
Normal file
2
celery_log_docker/config/celeryconfig.py
Normal file
2
celery_log_docker/config/celeryconfig.py
Normal file
@ -0,0 +1,2 @@
|
||||
# worker_hijack_root_logger = False
|
||||
# worker_redirect_stdouts = True
|
62
celery_log_docker/docker-compose.yml
Normal file
62
celery_log_docker/docker-compose.yml
Normal file
@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
version: "3.7"
|
||||
|
||||
networks:
|
||||
# Network for your internals, use it by default:
|
||||
telebot_network:
|
||||
name:
|
||||
celery_log_network
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 200.20.0.0/24
|
||||
|
||||
services:
|
||||
|
||||
rabbitmq:
|
||||
hostname: rabbitmq_host
|
||||
image: rabbitmq:3.8.18-management-alpine
|
||||
container_name: celery_rabbit
|
||||
env_file: config/.env
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
telebot_network:
|
||||
ipv4_address: 200.20.0.11
|
||||
ports:
|
||||
- 15672:15672
|
||||
- 5672:5672
|
||||
|
||||
web:
|
||||
image: "celery_log"
|
||||
container_name: celery_log_app
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- .:/code
|
||||
networks:
|
||||
telebot_network:
|
||||
ipv4_address: 200.20.0.12
|
||||
env_file: ./config/.env
|
||||
command: >
|
||||
bash -c "celery --app=main:app worker --concurrency=1 --loglevel=info --logfile=celery.log"
|
||||
|
||||
worker:
|
||||
container_name: celery_log_worker
|
||||
image: "celery_log"
|
||||
command: >
|
||||
bash -c "celery --app=main:app worker --concurrency=1 --loglevel=info --logfile=celery.log"
|
||||
env_file: config/.env
|
||||
volumes:
|
||||
- .:/code
|
||||
depends_on:
|
||||
- rabbitmq
|
||||
- web
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
telebot_network:
|
||||
ipv4_address: 200.20.0.14
|
||||
|
||||
|
||||
|
16
celery_log_docker/log.log
Normal file
16
celery_log_docker/log.log
Normal file
@ -0,0 +1,16 @@
|
||||
2021.09.06 17:05:09 | INFO | process: 1 | module name: My_logger | func name: <module> | line number: 57 | message: celery_config imported True
|
||||
2021.09.06 17:05:09 | INFO | process: 1 | module name: My_logger | func name: <module> | line number: 25 | message: main imported
|
||||
2021.09.06 17:05:53 | INFO | process: 15 | module name: My_logger | func name: <module> | line number: 57 | message: celery_config imported True
|
||||
2021.09.06 17:05:53 | INFO | process: 15 | module name: My_logger | func name: <module> | line number: 25 | message: main imported
|
||||
2021.09.06 17:06:10 | INFO | process: 8 | module name: My_logger | func name: test | line number: 17 | message: WE ARE HERE
|
||||
2021.09.06 17:06:10 | INFO | process: 8 | module name: My_logger | func name: test | line number: 20 | message: 4
|
||||
2021.09.06 17:07:19 | INFO | process: 1 | module name: My_logger | func name: <module> | line number: 57 | message: celery_config imported True
|
||||
2021.09.06 17:07:19 | INFO | process: 1 | module name: My_logger | func name: <module> | line number: 25 | message: main imported
|
||||
2021.09.06 17:07:19 | INFO | process: 1 | module name: My_logger | func name: <module> | line number: 57 | message: celery_config imported True
|
||||
2021.09.06 17:07:19 | INFO | process: 1 | module name: My_logger | func name: <module> | line number: 25 | message: main imported
|
||||
2021.09.06 17:07:32 | INFO | process: 9 | module name: My_logger | func name: <module> | line number: 57 | message: celery_config imported True
|
||||
2021.09.06 17:07:32 | INFO | process: 9 | module name: My_logger | func name: <module> | line number: 25 | message: main imported
|
||||
2021.09.06 17:07:42 | INFO | process: 8 | module name: My_logger | func name: test | line number: 17 | message: WE ARE HERE
|
||||
2021.09.06 17:07:42 | INFO | process: 8 | module name: My_logger | func name: test | line number: 20 | message: 4
|
||||
2021.09.06 17:08:05 | INFO | process: 9 | module name: My_logger | func name: test | line number: 17 | message: WE ARE HERE
|
||||
2021.09.06 17:08:05 | INFO | process: 9 | module name: My_logger | func name: test | line number: 20 | message: 4
|
25
celery_log_docker/main.py
Normal file
25
celery_log_docker/main.py
Normal file
@ -0,0 +1,25 @@
|
||||
import logging
|
||||
|
||||
from celery_config import celery_app as app
|
||||
from celery.utils.log import get_task_logger
|
||||
|
||||
|
||||
#logger = get_task_logger('My_logger')
|
||||
|
||||
logger = logging.getLogger('My_logger')
|
||||
|
||||
# logger.addHandler(handler)
|
||||
# logger.setLevel('DEBUG')
|
||||
|
||||
|
||||
@app.task()
|
||||
def test(x: int, y: int) -> int:
|
||||
logger.info('WE ARE HERE')
|
||||
print(x + y)
|
||||
result = x + y
|
||||
logger.info(result)
|
||||
return result
|
||||
|
||||
|
||||
# test(6, 8)
|
||||
logger.info(f'{__name__} imported')
|
456
celery_log_docker/poetry.lock
generated
Normal file
456
celery_log_docker/poetry.lock
generated
Normal file
@ -0,0 +1,456 @@
|
||||
[[package]]
|
||||
name = "amqp"
|
||||
version = "5.0.6"
|
||||
description = "Low-level AMQP client for Python (fork of amqplib)."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
vine = "5.0.0"
|
||||
|
||||
[[package]]
|
||||
name = "appnope"
|
||||
version = "0.1.2"
|
||||
description = "Disable App Nap on macOS >= 10.9"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "backcall"
|
||||
version = "0.2.0"
|
||||
description = "Specifications for callback functions passed in to an API"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "billiard"
|
||||
version = "3.6.4.0"
|
||||
description = "Python multiprocessing fork with improvements and bugfixes"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "celery"
|
||||
version = "5.1.2"
|
||||
description = "Distributed Task Queue."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6,"
|
||||
|
||||
[package.dependencies]
|
||||
billiard = ">=3.6.4.0,<4.0"
|
||||
click = ">=7.0,<8.0"
|
||||
click-didyoumean = ">=0.0.3"
|
||||
click-plugins = ">=1.1.1"
|
||||
click-repl = ">=0.1.6"
|
||||
kombu = ">=5.1.0,<6.0"
|
||||
pytz = ">0.0-dev"
|
||||
vine = ">=5.0.0,<6.0"
|
||||
|
||||
[package.extras]
|
||||
arangodb = ["pyArango (>=1.3.2)"]
|
||||
auth = ["cryptography"]
|
||||
azureblockblob = ["azure-storage-blob (==12.6.0)"]
|
||||
brotli = ["brotli (>=1.0.0)", "brotlipy (>=0.7.0)"]
|
||||
cassandra = ["cassandra-driver (<3.21.0)"]
|
||||
consul = ["python-consul2"]
|
||||
cosmosdbsql = ["pydocumentdb (==2.3.2)"]
|
||||
couchbase = ["couchbase (>=3.0.0)"]
|
||||
couchdb = ["pycouchdb"]
|
||||
django = ["Django (>=1.11)"]
|
||||
dynamodb = ["boto3 (>=1.9.178)"]
|
||||
elasticsearch = ["elasticsearch"]
|
||||
eventlet = ["eventlet (>=0.26.1)"]
|
||||
gevent = ["gevent (>=1.0.0)"]
|
||||
librabbitmq = ["librabbitmq (>=1.5.0)"]
|
||||
memcache = ["pylibmc"]
|
||||
mongodb = ["pymongo[srv] (>=3.3.0)"]
|
||||
msgpack = ["msgpack"]
|
||||
pymemcache = ["python-memcached"]
|
||||
pyro = ["pyro4"]
|
||||
pytest = ["pytest-celery"]
|
||||
redis = ["redis (>=3.2.0)"]
|
||||
s3 = ["boto3 (>=1.9.125)"]
|
||||
slmq = ["softlayer-messaging (>=1.0.3)"]
|
||||
solar = ["ephem"]
|
||||
sqlalchemy = ["sqlalchemy"]
|
||||
sqs = ["boto3 (>=1.9.125)", "pycurl (==7.43.0.5)"]
|
||||
tblib = ["tblib (>=1.3.0)", "tblib (>=1.5.0)"]
|
||||
yaml = ["PyYAML (>=3.10)"]
|
||||
zookeeper = ["kazoo (>=1.3.1)"]
|
||||
zstd = ["zstandard"]
|
||||
|
||||
[[package]]
|
||||
name = "click"
|
||||
version = "7.1.2"
|
||||
description = "Composable command line interface toolkit"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||
|
||||
[[package]]
|
||||
name = "click-didyoumean"
|
||||
version = "0.0.3"
|
||||
description = "Enable git-like did-you-mean feature in click."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
click = "*"
|
||||
|
||||
[[package]]
|
||||
name = "click-plugins"
|
||||
version = "1.1.1"
|
||||
description = "An extension module for click to enable registering CLI commands via setuptools entry-points."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
click = ">=4.0"
|
||||
|
||||
[package.extras]
|
||||
dev = ["pytest (>=3.6)", "pytest-cov", "wheel", "coveralls"]
|
||||
|
||||
[[package]]
|
||||
name = "click-repl"
|
||||
version = "0.2.0"
|
||||
description = "REPL plugin for Click"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
click = "*"
|
||||
prompt-toolkit = "*"
|
||||
six = "*"
|
||||
|
||||
[[package]]
|
||||
name = "colorama"
|
||||
version = "0.4.4"
|
||||
description = "Cross-platform colored terminal text."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||
|
||||
[[package]]
|
||||
name = "decorator"
|
||||
version = "5.0.9"
|
||||
description = "Decorators for Humans"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[[package]]
|
||||
name = "ipython"
|
||||
version = "7.27.0"
|
||||
description = "IPython: Productive Interactive Computing"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.dependencies]
|
||||
appnope = {version = "*", markers = "sys_platform == \"darwin\""}
|
||||
backcall = "*"
|
||||
colorama = {version = "*", markers = "sys_platform == \"win32\""}
|
||||
decorator = "*"
|
||||
jedi = ">=0.16"
|
||||
matplotlib-inline = "*"
|
||||
pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""}
|
||||
pickleshare = "*"
|
||||
prompt-toolkit = ">=2.0.0,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.1.0"
|
||||
pygments = "*"
|
||||
traitlets = ">=4.2"
|
||||
|
||||
[package.extras]
|
||||
all = ["Sphinx (>=1.3)", "ipykernel", "ipyparallel", "ipywidgets", "nbconvert", "nbformat", "nose (>=0.10.1)", "notebook", "numpy (>=1.17)", "pygments", "qtconsole", "requests", "testpath"]
|
||||
doc = ["Sphinx (>=1.3)"]
|
||||
kernel = ["ipykernel"]
|
||||
nbconvert = ["nbconvert"]
|
||||
nbformat = ["nbformat"]
|
||||
notebook = ["notebook", "ipywidgets"]
|
||||
parallel = ["ipyparallel"]
|
||||
qtconsole = ["qtconsole"]
|
||||
test = ["nose (>=0.10.1)", "requests", "testpath", "pygments", "nbformat", "ipykernel", "numpy (>=1.17)"]
|
||||
|
||||
[[package]]
|
||||
name = "jedi"
|
||||
version = "0.18.0"
|
||||
description = "An autocompletion tool for Python that can be used for text editors."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
parso = ">=0.8.0,<0.9.0"
|
||||
|
||||
[package.extras]
|
||||
qa = ["flake8 (==3.8.3)", "mypy (==0.782)"]
|
||||
testing = ["Django (<3.1)", "colorama", "docopt", "pytest (<6.0.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "kombu"
|
||||
version = "5.1.0"
|
||||
description = "Messaging library for Python."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
amqp = ">=5.0.6,<6.0.0"
|
||||
vine = "*"
|
||||
|
||||
[package.extras]
|
||||
azureservicebus = ["azure-servicebus (>=7.0.0)"]
|
||||
azurestoragequeues = ["azure-storage-queue"]
|
||||
consul = ["python-consul (>=0.6.0)"]
|
||||
librabbitmq = ["librabbitmq (>=1.5.2)"]
|
||||
mongodb = ["pymongo (>=3.3.0)"]
|
||||
msgpack = ["msgpack"]
|
||||
pyro = ["pyro4"]
|
||||
qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"]
|
||||
redis = ["redis (>=3.3.11)"]
|
||||
slmq = ["softlayer-messaging (>=1.0.3)"]
|
||||
sqlalchemy = ["sqlalchemy"]
|
||||
sqs = ["boto3 (>=1.4.4)", "pycurl (==7.43.0.2)", "urllib3 (<1.26)"]
|
||||
yaml = ["PyYAML (>=3.10)"]
|
||||
zookeeper = ["kazoo (>=1.3.1)"]
|
||||
|
||||
[[package]]
|
||||
name = "matplotlib-inline"
|
||||
version = "0.1.2"
|
||||
description = "Inline Matplotlib backend for Jupyter"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[package.dependencies]
|
||||
traitlets = "*"
|
||||
|
||||
[[package]]
|
||||
name = "parso"
|
||||
version = "0.8.2"
|
||||
description = "A Python Parser"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.extras]
|
||||
qa = ["flake8 (==3.8.3)", "mypy (==0.782)"]
|
||||
testing = ["docopt", "pytest (<6.0.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "pexpect"
|
||||
version = "4.8.0"
|
||||
description = "Pexpect allows easy control of interactive console applications."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
ptyprocess = ">=0.5"
|
||||
|
||||
[[package]]
|
||||
name = "pickleshare"
|
||||
version = "0.7.5"
|
||||
description = "Tiny 'shelve'-like database with concurrency support"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "prompt-toolkit"
|
||||
version = "3.0.20"
|
||||
description = "Library for building powerful interactive command lines in Python"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6.2"
|
||||
|
||||
[package.dependencies]
|
||||
wcwidth = "*"
|
||||
|
||||
[[package]]
|
||||
name = "ptyprocess"
|
||||
version = "0.7.0"
|
||||
description = "Run a subprocess in a pseudo terminal"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "pygments"
|
||||
version = "2.10.0"
|
||||
description = "Pygments is a syntax highlighting package written in Python."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[[package]]
|
||||
name = "python-decouple"
|
||||
version = "3.4"
|
||||
description = "Strict separation of settings from code."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "pytz"
|
||||
version = "2021.1"
|
||||
description = "World timezone definitions, modern and historical"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "six"
|
||||
version = "1.16.0"
|
||||
description = "Python 2 and 3 compatibility utilities"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||
|
||||
[[package]]
|
||||
name = "traitlets"
|
||||
version = "5.1.0"
|
||||
description = "Traitlets Python configuration system"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.extras]
|
||||
test = ["pytest"]
|
||||
|
||||
[[package]]
|
||||
name = "vine"
|
||||
version = "5.0.0"
|
||||
description = "Promises, promises, promises."
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[[package]]
|
||||
name = "wcwidth"
|
||||
version = "0.2.5"
|
||||
description = "Measures the displayed width of unicode strings in a terminal"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "3.8.9"
|
||||
content-hash = "07d357235ac54ad608c3f4623bd553e9147112fde6995d1dcb900f2f2deeb68c"
|
||||
|
||||
[metadata.files]
|
||||
amqp = [
|
||||
{file = "amqp-5.0.6-py3-none-any.whl", hash = "sha256:493a2ac6788ce270a2f6a765b017299f60c1998f5a8617908ee9be082f7300fb"},
|
||||
{file = "amqp-5.0.6.tar.gz", hash = "sha256:03e16e94f2b34c31f8bf1206d8ddd3ccaa4c315f7f6a1879b7b1210d229568c2"},
|
||||
]
|
||||
appnope = [
|
||||
{file = "appnope-0.1.2-py2.py3-none-any.whl", hash = "sha256:93aa393e9d6c54c5cd570ccadd8edad61ea0c4b9ea7a01409020c9aa019eb442"},
|
||||
{file = "appnope-0.1.2.tar.gz", hash = "sha256:dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a"},
|
||||
]
|
||||
backcall = [
|
||||
{file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"},
|
||||
{file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"},
|
||||
]
|
||||
billiard = [
|
||||
{file = "billiard-3.6.4.0-py3-none-any.whl", hash = "sha256:87103ea78fa6ab4d5c751c4909bcff74617d985de7fa8b672cf8618afd5a875b"},
|
||||
{file = "billiard-3.6.4.0.tar.gz", hash = "sha256:299de5a8da28a783d51b197d496bef4f1595dd023a93a4f59dde1886ae905547"},
|
||||
]
|
||||
celery = [
|
||||
{file = "celery-5.1.2-py3-none-any.whl", hash = "sha256:9dab2170b4038f7bf10ef2861dbf486ddf1d20592290a1040f7b7a1259705d42"},
|
||||
{file = "celery-5.1.2.tar.gz", hash = "sha256:8d9a3de9162965e97f8e8cc584c67aad83b3f7a267584fa47701ed11c3e0d4b0"},
|
||||
]
|
||||
click = [
|
||||
{file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"},
|
||||
{file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"},
|
||||
]
|
||||
click-didyoumean = [
|
||||
{file = "click-didyoumean-0.0.3.tar.gz", hash = "sha256:112229485c9704ff51362fe34b2d4f0b12fc71cc20f6d2b3afabed4b8bfa6aeb"},
|
||||
]
|
||||
click-plugins = [
|
||||
{file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"},
|
||||
{file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"},
|
||||
]
|
||||
click-repl = [
|
||||
{file = "click-repl-0.2.0.tar.gz", hash = "sha256:cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8"},
|
||||
{file = "click_repl-0.2.0-py3-none-any.whl", hash = "sha256:94b3fbbc9406a236f176e0506524b2937e4b23b6f4c0c0b2a0a83f8a64e9194b"},
|
||||
]
|
||||
colorama = [
|
||||
{file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
|
||||
{file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
|
||||
]
|
||||
decorator = [
|
||||
{file = "decorator-5.0.9-py3-none-any.whl", hash = "sha256:6e5c199c16f7a9f0e3a61a4a54b3d27e7dad0dbdde92b944426cb20914376323"},
|
||||
{file = "decorator-5.0.9.tar.gz", hash = "sha256:72ecfba4320a893c53f9706bebb2d55c270c1e51a28789361aa93e4a21319ed5"},
|
||||
]
|
||||
ipython = [
|
||||
{file = "ipython-7.27.0-py3-none-any.whl", hash = "sha256:75b5e060a3417cf64f138e0bb78e58512742c57dc29db5a5058a2b1f0c10df02"},
|
||||
{file = "ipython-7.27.0.tar.gz", hash = "sha256:58b55ebfdfa260dad10d509702dc2857cb25ad82609506b070cf2d7b7df5af13"},
|
||||
]
|
||||
jedi = [
|
||||
{file = "jedi-0.18.0-py2.py3-none-any.whl", hash = "sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93"},
|
||||
{file = "jedi-0.18.0.tar.gz", hash = "sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707"},
|
||||
]
|
||||
kombu = [
|
||||
{file = "kombu-5.1.0-py3-none-any.whl", hash = "sha256:e2dedd8a86c9077c350555153825a31e456a0dc20c15d5751f00137ec9c75f0a"},
|
||||
{file = "kombu-5.1.0.tar.gz", hash = "sha256:01481d99f4606f6939cdc9b637264ed353ee9e3e4f62cfb582324142c41a572d"},
|
||||
]
|
||||
matplotlib-inline = [
|
||||
{file = "matplotlib-inline-0.1.2.tar.gz", hash = "sha256:f41d5ff73c9f5385775d5c0bc13b424535c8402fe70ea8210f93e11f3683993e"},
|
||||
{file = "matplotlib_inline-0.1.2-py3-none-any.whl", hash = "sha256:5cf1176f554abb4fa98cb362aa2b55c500147e4bdbb07e3fda359143e1da0811"},
|
||||
]
|
||||
parso = [
|
||||
{file = "parso-0.8.2-py2.py3-none-any.whl", hash = "sha256:a8c4922db71e4fdb90e0d0bc6e50f9b273d3397925e5e60a717e719201778d22"},
|
||||
{file = "parso-0.8.2.tar.gz", hash = "sha256:12b83492c6239ce32ff5eed6d3639d6a536170723c6f3f1506869f1ace413398"},
|
||||
]
|
||||
pexpect = [
|
||||
{file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
|
||||
{file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"},
|
||||
]
|
||||
pickleshare = [
|
||||
{file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"},
|
||||
{file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"},
|
||||
]
|
||||
prompt-toolkit = [
|
||||
{file = "prompt_toolkit-3.0.20-py3-none-any.whl", hash = "sha256:6076e46efae19b1e0ca1ec003ed37a933dc94b4d20f486235d436e64771dcd5c"},
|
||||
{file = "prompt_toolkit-3.0.20.tar.gz", hash = "sha256:eb71d5a6b72ce6db177af4a7d4d7085b99756bf656d98ffcc4fecd36850eea6c"},
|
||||
]
|
||||
ptyprocess = [
|
||||
{file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"},
|
||||
{file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"},
|
||||
]
|
||||
pygments = [
|
||||
{file = "Pygments-2.10.0-py3-none-any.whl", hash = "sha256:b8e67fe6af78f492b3c4b3e2970c0624cbf08beb1e493b2c99b9fa1b67a20380"},
|
||||
{file = "Pygments-2.10.0.tar.gz", hash = "sha256:f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6"},
|
||||
]
|
||||
python-decouple = [
|
||||
{file = "python-decouple-3.4.tar.gz", hash = "sha256:2e5adb0263a4f963b58d7407c4760a2465d464ee212d733e2a2c179e54c08d8f"},
|
||||
{file = "python_decouple-3.4-py3-none-any.whl", hash = "sha256:a8268466e6389a639a20deab9d880faee186eb1eb6a05e54375bdf158d691981"},
|
||||
]
|
||||
pytz = [
|
||||
{file = "pytz-2021.1-py2.py3-none-any.whl", hash = "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"},
|
||||
{file = "pytz-2021.1.tar.gz", hash = "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da"},
|
||||
]
|
||||
six = [
|
||||
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
|
||||
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
|
||||
]
|
||||
traitlets = [
|
||||
{file = "traitlets-5.1.0-py3-none-any.whl", hash = "sha256:03f172516916220b58c9f19d7f854734136dd9528103d04e9bf139a92c9f54c4"},
|
||||
{file = "traitlets-5.1.0.tar.gz", hash = "sha256:bd382d7ea181fbbcce157c133db9a829ce06edffe097bcf3ab945b435452b46d"},
|
||||
]
|
||||
vine = [
|
||||
{file = "vine-5.0.0-py2.py3-none-any.whl", hash = "sha256:4c9dceab6f76ed92105027c49c823800dd33cacce13bdedc5b914e3514b7fb30"},
|
||||
{file = "vine-5.0.0.tar.gz", hash = "sha256:7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e"},
|
||||
]
|
||||
wcwidth = [
|
||||
{file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
|
||||
{file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"},
|
||||
]
|
17
celery_log_docker/pyproject.toml
Normal file
17
celery_log_docker/pyproject.toml
Normal file
@ -0,0 +1,17 @@
|
||||
[tool.poetry]
|
||||
name = "celery_log"
|
||||
version = "0.1.0"
|
||||
description = "testing log for celery in file"
|
||||
authors = ["Dmitry Afanasyev <Balshbox@gmail.com>"]
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "3.8.9"
|
||||
celery = "^5.1.2"
|
||||
ipython = "^7.25"
|
||||
python-decouple = "^3.3"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core>=1.0.0"]
|
||||
build-backend = "poetry.core.masonry.api"
|
@ -20,25 +20,7 @@ pandas = "1.0.3"
|
||||
flask = "1.1.2"
|
||||
sqlalchemy = "1.3.22"
|
||||
|
||||
django = "^3.1"
|
||||
django-split-settings = "^1.0"
|
||||
django-health-check = "^3.16"
|
||||
celery = "^5.0.4"
|
||||
django-celery-results = "^2.0.0"
|
||||
django-celery-beat = "^2.1.0"
|
||||
eventlet = "0.30.0"
|
||||
django-constance="2.8.0"
|
||||
redis="3.5.3"
|
||||
django-picklefield="3.0.1"
|
||||
docutils="0.16"
|
||||
whitenoise = "^5.2.0"
|
||||
gunicorn = "^20.0"
|
||||
bcrypt = "^3.2"
|
||||
django-debug-toolbar = "^3.2"
|
||||
django-querycount = "^0.7"
|
||||
django-extra-checks = "^0.8"
|
||||
django-coverage-plugin = "^1.8"
|
||||
nplusone = "^1.0"
|
||||
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user