Philipp
Philipp
А вот столько очередей создает celery
Philipp
они не протухают, спустя какое-то время кролик умирает, а вместе с ним и линховая тачка
Alex
эм... бред какой-то у тебя не должно создаваться по очереди на таску.
Alex
а как ты таски вызываешь покажи?
Philipp
Сережа
ну да, типа все должно в одну очередь складываться, это же очередь
Alex
Philipp
Alex
это не вызов таска.
Alex
ну и кстати пихать mutable типы дефолтными значениями аргументов функций - моветон
Kirill
Может это из-за того что ты "backend" указал? Т.е. в этих "рандомных" очередях на самом деле лежат результаты работы твоих тасков?
Kirill
Попробуй не указывать ничего в настройке backend, вообще удали её
Kirill
Ну и вообще ampq в качестве бекенда для результатов - так себе идея. Это ведь очередь, а не база с произвольным доступом.
Philipp
ТАк бекенд убрал, теперь вроде очерди новые не создаются...
Philipp
Но вот еще, что смущает:
Philipp
Philipp
Много подключений
Alex
ну а как ты запускаешь это барахло?
Philipp
celery -A app worker -l info
Alex
Philipp
Philipp
Alex
ну вообще подозреваю что в качестве бекенда тебе надо было бы тоже указать в какую очередь засылать результаты
Alex
и обрабатывать соответствующим образом.
Philipp
Philipp
И создавалось дофига процессов
Philipp
Tishka17
Это вроде не дофига
Alex
Philipp
не это не довига, но если учесть, что это виртуалка на винде, которая еще много всего делает. Я к тому, что эти процессы создавались. Поэтому у меня виртуалка и умирала. На сервере таких проблем не было, но это первого серьезного выстрела))
Nikolay
Высокая нагрузка на сайт окон и дверей
Alex
Alex
просто десяток процессов воркеров это нормально
Philipp
Tishka17
Вообще, чего бы рэббиту есть памяти больше чем есть в виртуалке
Alex
Tishka17
Это да
Alex
+ на том количестве очередей что у него создавалось
Tishka17
Разобрались почему лишние очереди?
Alex
да, потому что backend
Alex
собственно он слал результаты тасков в бекенд, при этом ингорировал результаты
Alex
ну и очередь не указывал для бекенда - в итоге celery создавала очереди на каждый task result
Tishka17
ну вот последнее - понятно
Alex
а так как результаты игнорировались - сообщения зависали во временных очередях
Tishka17
вообще со стороны селери разрешать юзать без указания очрееди - свинство
Oleg
Ребят, так и не смог разобраться( Если у меня есть класс cls внутри которого в главном потоке я изменил какие-то атрибуты, потом я запускаю какие-то таски с помощью asyncio - и в этом классе эти атрибуты не изменены, а те, которые должны быть по умолчанию. Я могу как-то это обойти?
Tishka17
класс или объект?
Oleg
Класс
Tishka17
Зачем ты меняешь что-то в классе, а не в инстансах?
Сережа
ыыы
Tishka17
жесть какая
Сережа
лучше borg тогда
Tishka17
не надо так
Tishka17
Сережа
всместо синглтона
Tishka17
вместо синглтона надо юзать один инстанс, который не синглтон
Сережа
а чому не юзать несолько интсансов с общим dict'ом
Oleg
Oleg
Logic - это и есть этот класс
Henaro 🎄
Сап, гайс.
Где-то затупил или глаз замылился, не могу понять в чём прикол...
python 3.6.2
bottle 0.12.16
в обработчике POST делаю:
@app.route('/setbl', method=['POST', 'OPTIONS'])
def block_number():
data = request.json
print(data, type(data))
return {"result": "ok"}
в консольке честно выводит:
<class 'dict'> {'number': '9879896'}
на фронте тоже вижу {result: "ok"
однако стоит только в обработчик добавить
data = request.json
print(data, type(data))
print(data['number'])
как тут же получаю:
None <class 'NoneType'>
TypeError: 'NoneType' object is not subscriptable
Oleg
В Tasks.add_task запускаются таски определённые, которые юзают Logic
Тимофей
Добрый день! Есть ли способ подключиться к SQL-БД и выгружать результаты запроса по частям?
Tishka17
Tishka17
что-то не вижу ни записи в поля класса, ни чтения
Tigran
Oleg
set_cache и set_database меняют атрибуты
Tishka17
кода не вижу
Oleg
Henaro 🎄
𝕵𝖎𝖒 𝕸𝖔𝖗𝖗𝖎𝖘𝖔𝖓
Как в селениуме запускать хром в хэдлесс режиме (в одну строку)
𝕵𝖎𝖒 𝕸𝖔𝖗𝖗𝖎𝖘𝖔𝖓
?
Tishka17
Henaro 🎄
вот так работает и выводит {'number': '64521'} <class 'dict'>
Oleg
а читаешь как?
Создаю объект в main модуле database и cache, потом их передаю в set_cache и set_database