Задать вопрос
@f1awe

While True через какое-то время перестаёт работать?

У меня есть кусок кода, который постоянно проверяет, пришло ли время что-либо делать (эти действия должно повторяться каждые 15 минут и каждые 8 часов)
Я использую конструкцию while True и в ней у меня:
while True:
        if profit_time <= datetime.datetime.now():
        collect_profit()
        profit_time = profit_time + datetime.timedelta(hours=8)
        info_log(f'| Деньги будут собраны в {profit_time}')
    elif underwork_time <= datetime.datetime.now():
        underwork()
        pets_battle()
        underwork_time = datetime.datetime.now() + datetime.timedelta(minutes=15)
        info_log(f'| Следующие действия будут выполнены {underwork_time}')
    else:
        time.sleep(2)


Также, в начале программы у меня есть переменные:
underwork_time = datetime.datetime.strptime(start_date, "%Y-%m-%d %H:%M:%S") + datetime.timedelta(minutes=15)
profit_time = str(datetime.datetime.now().strftime('%Y-%m-%d')) + str(datetime.datetime.now().strftime(' %H:%M:59'))
profit_time = datetime.datetime.strptime(profit_time, "%Y-%m-%d %H:%M:%S")


На pythonanywhere спустя 3-5 итераций программа просто замолкает. Что делать?
6146f62de6177618812354.png
  • Вопрос задан
  • 162 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Нажмите CTRL+C и посмотрите трейсбэк. Увидите, что именно выполнялось в этот момент.

И нет ли у вас там HTTP-обращений ко внешним серверам, например через requests? Так когда не прописаны таймауты, эти обращения могут зависнуть на этапе установки соединения, не вызывая ошибку.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽