Artem
Ты умный?
это мой знакомый, а я просто шутил
Anonymous
Anonymous
Не понимаю почему оно так
Artem
чего конкретно то не понимаешь
Anonymous
У меня код не работает, конкретно - не понимаю почему он не хочет работать. Хотя я в точности (вроде как) сделал как в доке. Классика
Artem
дай доку
Anonymous
Оке
Anonymous
Anonymous
Вот на что я потратил 7 часов
Tigran
🤦♂️
Anonymous
Nikolay
Oleg
Ребят, со вчерашнего дня никак не могу разобраться. Есть сервер aiohttp и есть какие-то задачи, которые должны исполняться параллельно (конкурентно). Хорошо ли эти задачи оформлять как корутины, помещать их в while True и внутри писать asyncio.sleep, или всё-таки стоит использовать celery?
løst
ты либо крестик сними
løst
либо трусы надень
Oleg
Что здесь крестик, а что трусы?
Tishka17
celery - это отдельная очередь, а корутины - это корутины
Tishka17
тебе что надо - в рамках запроса сделать несколько вещей и потом отдать, или все таки отложенные таски?
Tigran
Andrew
Oleg
Например пришёл запрос на сервер - и должно запуститься 5 тасок, одна работает каждые 10 минут, вторая работает каждые 2 минуты, третья работает каждую минуту, четвёртая работает каждые 10 секунд, пятая каждые 5 секунд
Oleg
И таких пачек по 5 тасок может быть от 1 до бесконечности
Tishka17
ну юзай celery
Tishka17
это же задачи вообще не связанные с запросами
Tishka17
логично их вынести в другой сервер
Andrew
ну юзай celery
Если он делает в тасках тупо http запросы, то селери не нужен
Tishka17
возможно не celery, а любую другую очреедь задач
Дмитрий
Ребят, у кого то был проект в связке nginx - uwsgi - django?
Oleg
Ну да, как я понял - celery не запускает асинхронные задачи - а вообще отдельный поток делает
Andrew
Oleg
И если у меня этих потоков будет 100 - было бы нехорошо
Oleg
Ещё хуже, если процессов
Oleg
И всё это внутри докер контейнера
Tishka17
Oleg
Oleg
Так лучше в celery это повесить? Не будет проблем из-за большой частоты тасок?
Oleg
Также придётся часто БД дёргать и Redis
Oleg
Тоже нехорошо
Tishka17
/me не юзал celery, у меня напрямую читаются из rabbitmq или kafka
Oleg
Oleg
Окей, понял, спасибо)
Ilya
Если нужно, что-то простое — посмотри rq. Он не умеет решедулить таски с увеличивающимся интервалом, например, но ужасно простой.
(впрочем, мы быстро уперлись и свалили на Celery)
Tishka17
в прочем мы быстро свалили на другие языки, где celery выглядит странно
Tishka17
ладно, не быстро, но свалили
Alexey
Дмитрий
Вообщем, который раз возвращаюсь к этому вопросу. Есть проект с воркерами в размере - 30 и более (в зависимости от памяти на серве). И есть куча "тяжелых" запросов к базе(минута и более) - не все, но такие запросы есть. И соответственно иногда попадаю в такую ситуацию, когда все воркеры заняты запросами и пользователь банально не может подтянуть из за этого статику(вэб лежит грубо говоря). Есть ли возможность добиться асинхронности вообще? Или спасение искать в брокерах?
🍁 Jaŭhien
🍁 Jaŭhien
И почему странно? :)
Ilya
Je
Oleg
Je
нигде кроме питона не слышал про celery
ты сейчас троллишь? celery это чисто питонячья история с пикл’ом объектов и удаленном их выполнении - обобщенный такой консьюмер. на го ты просто не сделаешь подобного)
Pavel
Tishka17
Tishka17
Pavel
Je
ну конечно плоха, так селери в целом днище
Alexey
Oleg
Je
ой все, нет аналогов, жуйте дальше
🤔
Tishka17
Je
видимо, специализированные консьюмеры вам не по силам написать и отказаться от этой магии
Oleg
rq сказали
Tishka17
я вообще не знаю, что делает celery
Дмитрий
Je
Tishka17
выноси из веба куда-то отдельно
Tishka17
клиент все равно отвалится через 10-30 секунд и ты ему ничего не отправишь
Pavel
таскраннеров в этом вашем петоне немеряно
Alexey