задание «успешно остановлено», но почему? pythonw с планировщиком задач windows 10 - PullRequest
0 голосов
/ 30 января 2020

Я постоянно сталкиваюсь с трудностями, когда пытаюсь запустить простой скрипт .pyw, который работает в основном следующим образом:

sys.stdout = open("mylog.txt","w")
flag=pd.read_sql('select * from flags',conn).flagvalue.iloc[0]

while flag=='run':
    flag=pd.read_sql('select * from flags',conn).flagvalue.iloc[0]
    if time_is_right:
        grab_youtube_stats_and_store_them()
    else:
        sleep(300)

Я хотел бы запустить это из планировщика задач «при запуске» , Это не похоже на работу. Однако, что еще более неприятно: задача, кажется, в конце концов исчезла sh.

В первый раз, когда это произошло, я обнаружил своевременное соответствующее предупреждение в eventvwr:

2004 - недостаточно виртуальной памяти (по данным детектора исчерпания ресурсов)

Во второй раз (я включил средство отслеживания задач) планировщик задач сказал, что он «успешно завершил» задачу (событие 102), после события DNS-сервера (из eventvwr):

1014 Разрешение имени для имени% 1 истекло после того, как ни один из настроенных DNS-серверов не ответил.

Теперь мой Наилучшее предположение для второго прерывания:

  1. , что мой маршрутизатор перезагружался как раз вовремя для запуска моей подпрограммы,
  2. yt_grabber выдал неперехваченную ошибку (-> "mylog.txt" был еще пуст)
  3. сценарий остановлен и задача считалась завершенной.

Мои вопросы:

  1. Является ли мое предположение вероятным сценарием? Если так, почему файл mylog.txt пуст?
  2. Что я могу сделать с первым выпуском (событие 2004 г.)? Вызвало ли это отключение (pythonw.exe был первым в списке)?
  3. Почему не запускается задача? Я ставлю pythonw.exe с аргументом yt_auto_grab.pyw start в папке (of .pyw)

Спасибо всем, кто прочитал до этого момента. :) Надеюсь, кто-то может помочь.

Ура!

...