Skip to content

Commit bdd95d4

Browse files
committed
readme celery
1 parent 05cb2a7 commit bdd95d4

1 file changed

Lines changed: 53 additions & 1 deletion

File tree

README.md

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ docker compose build
2525
docker compose up
2626
```
2727
- После успешного запуска приложение будет доступно по адрессу: http://localhost:8080
28+
- Grafana: http://localhost:3000
29+
- Flower: http://localhost:5555
2830

2931
# View
3032
Обзор и детали данного шаблона
@@ -57,6 +59,7 @@ app.include_router(
5759
)
5860
```
5961
После регистрации данные маршруты будут доступны.
62+
6063
### Registration Logs
6164
- Логи захватывают все исключения возникшие в системе
6265
и с помошью дисперичизации распределяется по нужным **file.log**
@@ -92,4 +95,53 @@ pass
9295
```
9396
То вам нужно его зарегистрировать как было показанно выше,
9497
иначе logs не смогут выявить данное исключение и данные будут утеряны.
95-
### Registration Middlaware
98+
99+
### Registration Middlaware
100+
- Для регистрации Middlaware вам нужно добавить его в функцию
101+
```python
102+
from fastapi.middleware.cors import CORSMiddleware
103+
from fastapi import FastAPI
104+
105+
from config import settings
106+
107+
108+
# Данная функция регистрирует все middleware
109+
def register_middlewares(app: FastAPI) -> None:
110+
app.add_middleware(
111+
CORSMiddleware,
112+
allow_origins=[
113+
settings.CURRENT_ORIGIN,
114+
],
115+
allow_credentials=True,
116+
allow_methods=['*'],
117+
allow_headers=['*'],
118+
)
119+
```
120+
- При появлении новых middleware добавляйте их по порядку в эту функцию
121+
122+
### Celery
123+
- Для регистрации task вам нужно создать файл с именем **tasks.py** в вашем приложении:
124+
```python
125+
# api_v1/users/tasks.py
126+
from config import celery_app
127+
import asyncio
128+
129+
130+
@celery_app.task
131+
async def time_sleep_task():
132+
"""
133+
Тестовая задача для Celery
134+
"""
135+
asyncio.sleep(2.0)
136+
return 'Task is done'
137+
```
138+
- Затем добавить этот файл в список пакетов Celery
139+
```python
140+
# confin.celery.connection.py
141+
142+
app = Celery(__name__)
143+
app.conf.broker_url = settings.rabbit.broker_url
144+
# Регистрация до окружения где находится tasks.py
145+
app.autodiscover_tasks(packages=['api_v1.users'])
146+
```
147+
- После этих действий ваша task будет зарегистрирована

0 commit comments

Comments
 (0)