
Oleg
18.04.2019
13:09:41
Ребят, со вчерашнего дня никак не могу разобраться. Есть сервер aiohttp и есть какие-то задачи, которые должны исполняться параллельно (конкурентно). Хорошо ли эти задачи оформлять как корутины, помещать их в while True и внутри писать asyncio.sleep, или всё-таки стоит использовать celery?

lost
18.04.2019
13:10:11
ты либо крестик сними
либо трусы надень

Oleg
18.04.2019
13:11:49
Что здесь крестик, а что трусы?

Google

Tishka17
18.04.2019
13:12:18
celery - это отдельная очередь, а корутины - это корутины
тебе что надо - в рамках запроса сделать несколько вещей и потом отдать, или все таки отложенные таски?

Tigran
18.04.2019
13:12:39

Andrew
18.04.2019
13:12:54

Oleg
18.04.2019
13:14:03
Например пришёл запрос на сервер - и должно запуститься 5 тасок, одна работает каждые 10 минут, вторая работает каждые 2 минуты, третья работает каждую минуту, четвёртая работает каждые 10 секунд, пятая каждые 5 секунд
И таких пачек по 5 тасок может быть от 1 до бесконечности

Tishka17
18.04.2019
13:15:01
ну юзай celery
это же задачи вообще не связанные с запросами
логично их вынести в другой сервер

Andrew
18.04.2019
13:15:26
ну юзай celery
Если он делает в тасках тупо http запросы, то селери не нужен

Tishka17
18.04.2019
13:15:57
возможно не celery, а любую другую очреедь задач

Дмитрий
18.04.2019
13:16:14
Ребят, у кого то был проект в связке nginx - uwsgi - django?

Google

Oleg
18.04.2019
13:16:50
Ну да, как я понял - celery не запускает асинхронные задачи - а вообще отдельный поток делает

Andrew
18.04.2019
13:17:03

Oleg
18.04.2019
13:17:06
И если у меня этих потоков будет 100 - было бы нехорошо
Ещё хуже, если процессов
И всё это внутри докер контейнера

Tishka17
18.04.2019
13:17:33

Oleg
18.04.2019
13:17:33
Так лучше в celery это повесить? Не будет проблем из-за большой частоты тасок?
Также придётся часто БД дёргать и Redis
Тоже нехорошо

Tishka17
18.04.2019
13:18:50
/me не юзал celery, у меня напрямую читаются из rabbitmq или kafka

Oleg
18.04.2019
13:19:38

Tishka17
18.04.2019
13:19:46

Oleg
18.04.2019
13:20:00
Окей, понял, спасибо)

f1nnix
18.04.2019
13:20:52
Если нужно, что-то простое — посмотри rq. Он не умеет решедулить таски с увеличивающимся интервалом, например, но ужасно простой.
(впрочем, мы быстро уперлись и свалили на Celery)

Tishka17
18.04.2019
13:23:11
в прочем мы быстро свалили на другие языки, где celery выглядит странно
ладно, не быстро, но свалили

Alexey
18.04.2019
13:24:09

Дмитрий
18.04.2019
13:25:11
Вообщем, который раз возвращаюсь к этому вопросу. Есть проект с воркерами в размере - 30 и более (в зависимости от памяти на серве). И есть куча "тяжелых" запросов к базе(минута и более) - не все, но такие запросы есть. И соответственно иногда попадаю в такую ситуацию, когда все воркеры заняты запросами и пользователь банально не может подтянуть из за этого статику(вэб лежит грубо говоря). Есть ли возможность добиться асинхронности вообще? Или спасение искать в брокерах?

?? Eugene
18.04.2019
13:25:12

Google

?? Eugene
18.04.2019
13:25:23
И почему странно? :)

f1nnix
18.04.2019
13:25:35

Tishka17
18.04.2019
13:26:54

Jentry
18.04.2019
13:26:57

Oleg
18.04.2019
13:27:05

f1nnix
18.04.2019
13:27:45

Jentry
18.04.2019
13:27:51
нигде кроме питона не слышал про celery
ты сейчас троллишь? celery это чисто питонячья история с пикл’ом объектов и удаленном их выполнении - обобщенный такой консьюмер. на го ты просто не сделаешь подобного)

Pavel
18.04.2019
13:28:39

Tishka17
18.04.2019
13:28:59

Pavel
18.04.2019
13:29:13

Jentry
18.04.2019
13:29:14
ну конечно плоха, так селери в целом днище

Alexey
18.04.2019
13:29:31

Oleg
18.04.2019
13:29:35

Jentry
18.04.2019
13:29:47
ой все, нет аналогов, жуйте дальше

Tishka17
18.04.2019
13:29:50

?
18.04.2019
13:29:52

Tishka17
18.04.2019
13:30:01

Jentry
18.04.2019
13:30:05
видимо, специализированные консьюмеры вам не по силам написать и отказаться от этой магии

Oleg
18.04.2019
13:30:10
rq сказали

Google

Tishka17
18.04.2019
13:30:17
я вообще не знаю, что делает celery

Дмитрий
18.04.2019
13:30:18

Jentry
18.04.2019
13:30:39

Tishka17
18.04.2019
13:30:48
выноси из веба куда-то отдельно
клиент все равно отвалится через 10-30 секунд и ты ему ничего не отправишь

Pavel
18.04.2019
13:31:41
таскраннеров в этом вашем петоне немеряно

Дмитрий
18.04.2019
13:31:44

Alexey
18.04.2019
13:31:56

Tishka17
18.04.2019
13:32:03
rq довольно тупой насколько я знаю

Oleg
18.04.2019
13:32:08
Ну вот, из аналогов остаётся только самому тащить из Redis и делать таски

Pavel
18.04.2019
13:32:14
но почему то мир питона для многих свёрнут до джанги + селери
а, и пандас еще, чтоб csv прочитать

Oleg
18.04.2019
13:32:30
Поэтому нормальный вопрос - какие аналоги могут быть у celery?

Tishka17
18.04.2019
13:32:45

Alexey
18.04.2019
13:33:07

Tishka17
18.04.2019
13:33:23
вообще хз зачем нужен celery

?? Eugene
18.04.2019
13:33:34
Есть dramatiq

Google

Oleg
18.04.2019
13:33:58

Tishka17
18.04.2019
13:34:03
while True:
m = get_message()
do(m)
m.commit()
вот это он делает?

Pavel
18.04.2019
13:34:09

lexx
18.04.2019
13:34:18
объясните что ли если не лень, чем драматик отличается от сельдерея так драматично?

Savage
18.04.2019
13:35:05
Кто-то знает как достать код макроса из excel файла?

?? Eugene
18.04.2019
13:35:10
И вот еще) https://huey.readthedocs.io/en/latest/

Tishka17
18.04.2019
13:35:14

Jentry
18.04.2019
13:35:15

Tishka17
18.04.2019
13:35:46

ℳax
18.04.2019
13:36:02
Где можно найти специалиста по регулярным выражениям?

Oleg
18.04.2019
13:36:19

Savage
18.04.2019
13:36:22
попробуй unzip
Я достал файл vbaProjects.bin, но хз что с ним делать, внутри колонки букв и цифр

Tishka17
18.04.2019
13:36:40

?? Eugene
18.04.2019
13:37:32
А вот и кафка