--- foreman_callback.py.orig 2016-07-08 11:54:32.000000000 +0200 +++ foreman_callback.py 2016-07-08 14:56:16.000000000 +0200 @@ -4,6 +4,7 @@ import json import uuid import requests +import threading import time try: @@ -41,6 +42,19 @@ } """ +class WorkerRequest(threading.Thread): + def __init__(self, facts_json, ssl_verify): + threading.Thread.__init__(self) + self.facts_json = facts_json + self.ssl_verify = ssl_verify + + def run(self): + requests.post(url=FOREMAN_URL + '/api/v2/hosts/facts', + data=self.facts_json, + headers=FOREMAN_HEADERS, + cert=FOREMAN_SSL_CERT, + verify=self.ssl_verify) + class CallbackModule(parent_class): """ @@ -82,13 +96,8 @@ data = json.dumps(data) facts_json = FACTS_FORMAT % dict(host=host, data=data) - - requests.post(url=FOREMAN_URL + '/api/v2/hosts/facts', - data=facts_json, - headers=FOREMAN_HEADERS, - cert=FOREMAN_SSL_CERT, - verify=self.ssl_verify) - + r = WorkerRequest(facts_json, self.ssl_verify) + r.start() def _build_log(self, data): logs = []