Add timeout to script
nippet using the signal
module to add a timeout to a script.
import signal
import time
TIMEOUT_MINUTES = 2
def handler(signum, frame):
print()
print("TIMEOUT!!")
raise Exception("END OF TIME")
signal.signal(signal.SIGALRM, handler)
signal.alarm(60 * TIMEOUT_MINUTES)
print('sleep')
time.sleep(60 * (TIMEOUT_MINUTES + 1))
print('script ended without timeout')
Download a file
import requests
url = 'https://www.facebook.com/favicon.ico'
r = requests.get(url, allow_redirects=True)
open('facebook.ico', 'wb').write(r.content)