tubesync/tubesync/healthcheck.py

36 lines
705 B
Python

#!/usr/bin/env python3
'''
Perform an HTTP request to a URL and exit with an exit code of 1 if the
request did not return an HTTP/200 status code.
Usage:
$ ./healthcheck.py http://some.url.here/healthcheck/resource
'''
import sys
import requests
TIMEOUT = 5 # Seconds
def do_heatlhcheck(url):
headers = {'User-Agent': 'healthcheck'}
response = requests.get(url, headers=headers, timeout=TIMEOUT)
return response.status_code == 200
if __name__ == '__main__':
try:
url = sys.argv[1]
except IndexError:
sys.stderr.write('URL must be supplied\n')
sys.exit(1)
if do_heatlhcheck(url):
sys.exit(0)
else:
sys.exit(1)