Приложение Heroku снова и снова запускает скрипт python на Push

#python #heroku #heroku-cli

Вопрос:

Я новичок в Хероку. У меня есть скрипт на python, который я планирую развернуть на Heroku, я пишу код на локальном языке, а затем отправляю его на Heroku (git push heroku master). Я замечаю, что при нажатии код начинает выполняться снова и снова. Теперь я ранее работал с Heroku над другим приложением и другим фрагментом кода, но не сталкивался с этой проблемой. Для этого скрипта я создал Расширенный планировщик (который настроен на запуск один раз в день и установлен в неактивное состояние, я проверил).

Не вставляю код здесь, потому что я не знаю, какой фрагмент кода может вызвать проблему, плюс код отлично работает в локальном, а проблема только в Heroku. Однако логика кода выглядит примерно так:

  1. Получите время начала и окончания интервала из файла JSON.
  2. Время записи в файл.
  3. Отправляйте запросы в соответствии с интервалом и собирайте данные с каждым.
  4. По завершении отправьте данные по электронной почте на указанный адрес.
  5. Перейдите к следующему интервалу времени и повторите 1-4 раза.
  6. Завершите программу, когда будут собраны все временные интервалы.

У меня действительно есть цикл while в сценарии, но я проверил, что выполнение кода завершается, вне цикла, где я также упомянул sys.exit(0) для завершения программы. Но код снова запускается с самого начала. Итак, похоже, это какая-то проблема от Heroku.

Ошибок нет, но я продолжаю видеть эти журналы:

[2021-08-16 14:56:08 0000] [11] [ИНФОРМАЦИЯ] Выход работника (pid: 11) [2021-08-16 14:56:08 0000] [13] [ИНФОРМАЦИЯ] Загрузочный рабочий с pid: 13

Так,

  1. Я бы хотел, чтобы сценарий не выполнялся, когда я нажимаю на Heroku.
  2. Я бы хотел, чтобы код выполнялся только один раз и не выполнялся снова.

Пожалуйста, помогите с этим, большое спасибо.

Правка: не уверен, что это уместно, но у меня также есть две команды time.sleep(2.1) в сценарии.