Сценарий Python запускается вручную в Google VM, но его убивают, если его включить в цикл true для планирования - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть скрипт на python, который отлично работает, когда я запускаю его через python3 script.py & на gmv vm, но затем, когда я отсоединяю его с помощью screen и оставляю запускать несколько итераций сам, я возвращаюсь кпроверь и его убьют.

Я думаю, что это может быть связано с высокой загрузкой процессора, я пытался сделать некоторое время истинный цикл и некоторое время спать программу, затем я попытался использовать apscheduler или просто scheduler или дажеnice -n 19 python3 script.py но ничего не получилось, дело в том, что сценарий, кажется, работает нормально в первый раз или даже в первые два раза, но затем его убивают.

Вот как я запускаю свой скрипт, могу ли я в любом случае решить эту проблему, не увеличивая мой процессор?Я думаю, что у меня есть маленькая машина на вм.

schedule.every(10).minute.do(scheduled_job)
print('STARTED PROGRAM')

while True:
    schedule.run_pending()
    time.sleep(1)

1 Ответ

0 голосов
/ 25 февраля 2019

Используйте /usr/bin/time --verbose python3 script.py для измерения памяти, используемой для одного запуска задания, или используйте ps axu или top, чтобы сделать это для задачи с непрерывным циклом.Убедитесь, что вы используете malloc меньше, чем согласен предоставить контейнер виртуальной машины.

Если вы видите, что ваш процесс прерван во время тестирования на небольшом хосте linux, поищите подсказки в журнале: $ zgrep oom /var/log/{syslog,messages}*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...