Как мы уже говорили, я сделал такой с помощью PycURL.
Единственное, что мне нужно было сделать, это pycurl_instance.setopt(pycurl_instance.NOSIGNAL, 1)
, чтобы предотвратить сбои.
Я использовал APScheduler для запуска запросов в отдельных потоках. Благодаря вашим советам изменить ожидание занятости от while True: pass
до while True: time.sleep(3)
в основном потоке, код ведет себя довольно хорошо, и использование модуля Runner из приложения пакета python-daemon практически готово для использования в качестве типичного демона UN * X.