Projekt

Obecné

Profil

Stáhnout (900 Bajtů) Statistiky
| Větev: | Tag: | Revize:
1
import json
2
import requests
3
import logging
4
from time import sleep
5
from diskcache import Deque
6
from requests import HTTPError, ConnectionError
7

    
8
from config_manager import server_url, server_port, server_endpoint, cache_dir, cache_retry_period_seconds, cache_max_retries, cache_max_entries
9

    
10

    
11
_cache = Deque(directory=cache_dir)
12
_uri = server_url + ":" + server_port + server_endpoint
13

    
14

    
15
def send_data(payload: dict):
16
    try:
17
        logging.info(f"sending payload = {payload} to {_uri}")
18
        response = requests.post(url=_uri, data=json.dumps(payload))
19
        logging.info(f"response text: {response.text}")
20
    except ConnectionError:
21
        logging.warning(f"sending payload = {payload} to {_uri} failed")
22
    except HTTPError as error:
23
        logging.error(f"HTTP Error ({_uri}) payload = {payload}, {error}")
24

    
25

    
26
def api_client_run():
27
    while True:
28
        sleep(cache_retry_period_seconds)
(2-2/6)