170 похожих чатов

У меня есть циклы для ежечасового обновления голода/жизней у "питомца"

игрока, они висят в основном коде бота, запускаются как корутины(в них бесконечный цикл) и при каждом проходе одной итерации цикл вызывает asyncio.sleep(3600). Как это оптимизировать? Знаю что надо бы переписать, но самому нифига кроме threading не лезет

20 ответов

5 просмотров

что именно ты собираешься оптимизировать?

КуюҐама-Зверніться Автор вопроса
Alex
что именно ты собираешься оптимизировать?

чтобы циклы не падали и сильно не занимали основной процесс

КуюҐама-Зверніться Автор вопроса
КуюҐама Зверніться
чтобы циклы не падали и сильно не занимали основно...

мне нужно уменьшить ресурсозатратность и вероятность падения каждого из двух циклов

КуюҐама Зверніться
чтобы циклы не падали и сильно не занимали основно...

1. ну будет у тебя поток падать.... чтобы циклы не падали нужно обрабатывать ошибки.

Можешь попробовать с интерпретатором PyPy запускать, если получится

КуюҐама-Зверніться Автор вопроса
Alex
1. ну будет у тебя поток падать.... чтобы циклы не...

там в основном таймауты только могут быть

КуюҐама Зверніться
мне нужно уменьшить ресурсозатратность и вероятнос...

2. как ты определял "ресурсозатратность" своей программы? как тебе потоки помогут ее уменьшить?

КуюҐама-Зверніться Автор вопроса
КуюҐама Зверніться
ну чтобы циклы не тормозили код

как ты определил что твои "циклы" тормозят код?

КуюҐама-Зверніться Автор вопроса
Alex
как ты определил что твои "циклы" тормозят код?

в момент когда обрабатывается информация есть небольшие фризы

КуюҐама-Зверніться Автор вопроса
Alex
какая информация, как обрабатывается?

берётся с бд все записи у которых required_xp меньше xp и циклически перебирает всё, для индивидуального высчета каждого уровня, xp, required_xp

КуюҐама-Зверніться Автор вопроса
КуюҐама Зверніться
берётся с бд все записи у которых required_xp мень...

с жизнями и голодом конечно просто запрос кидаю в бд(там он один)

а почему бы не отправлять таску чтобы все воркером обрабатывалось celery заюзать

КуюҐама Зверніться
с жизнями и голодом конечно просто запрос кидаю в ...

1. у тебя "фризы" происходят раз в час? 2. как ты работаешь с базой?

1. синхронную или асинхронную алхимию? 2. а вот стоило бы замерить и узнать где у тебя узкое место. и связано ли это с IO bound или CPU bound.

КуюҐама Зверніться
асинхронная

пока ты не локализовал проблему, твои попытки как-нибудь что-нибудь оптимизировать не имеют смысла.

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
How to create an OS in C? what to study?
Linus
18
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
9
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Карта сайта