2015-04-20 3 views
0

На мой взгляд, это непростая задача, но я не знаю, как ее реализовать.Как успешно запустить python cronjob?

У меня есть сценарий python, который, вероятно, будет разбиваться на первые несколько попыток. (Он вызывает websocket, который еще не готов.)

Могу ли я сказать cronjob, чтобы продолжать попытки запустить этот скрипт, пока он, наконец, не сработает? Или мне нужно реализовать это в скрипте python?

Это линия в Crontab

@reboot sh /home/pi/launcher.sh 

И это .sh-файл.

#!/bin/sh 
# launcher.sh 
cd/
sudo python /home/pi/example.py 
cd/

Заранее благодарен!

+0

его реализации в сценарии Python (с использованием, например, '' try' и except') почти наверняка будет более простым, чем его реализации в сценарии оболочки. – kindall

ответ

3

Независимо от того, какая задача может быть специально, вам, вероятно, будет лучше всего реализовать ее в скрипте python. Это кажется более прямым. Например:

while True: 
    try: 
     # your task 
     # check if it was successful and if so 
     break 
    except Exception: # a relevant exception would be best 
     pass # you could even use sleep() here(time module) 
      # to wait a few seconds between tries 
+0

Да, это работало. однако я использовал модифицированную версию, например [этот] (http://stackoverflow.com/questions/18152564/how-to-retry-just-once-on-exception-in-python). он будет пробовать 5 раз с 5 секундами между ними. которые должны работать. Спасибо! – Markus

Смежные вопросы