Я постоянно сталкиваюсь с трудностями, когда пытаюсь запустить простой скрипт .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-серверов не ответил.
Теперь мой Наилучшее предположение для второго прерывания:
- , что мой маршрутизатор перезагружался как раз вовремя для запуска моей подпрограммы,
- yt_grabber выдал неперехваченную ошибку (-> "mylog.txt" был еще пуст)
- сценарий остановлен и задача считалась завершенной.
Мои вопросы:
- Является ли мое предположение вероятным сценарием? Если так, почему файл mylog.txt пуст?
- Что я могу сделать с первым выпуском (событие 2004 г.)? Вызвало ли это отключение (pythonw.exe был первым в списке)?
- Почему не запускается задача? Я ставлю pythonw.exe с аргументом yt_auto_grab.pyw start в папке (of .pyw)
Спасибо всем, кто прочитал до этого момента. :) Надеюсь, кто-то может помочь.
Ура!