-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathgetmempool.py
executable file
·39 lines (35 loc) · 948 Bytes
/
getmempool.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/python
import logging
import sched
import sys
import time
from atendo import Atendo
from atendo.utils import get_config_or_usage
config = get_config_or_usage()
logging.basicConfig(level=config.get('log_level', 'INFO'))
log = logging.getLogger(sys.argv[0])
try:
loop = config['loop_fetch']['seconds']
except KeyError:
loop = None
atendo = Atendo(
daemon_host=config.get('daemon_host', None),
daemon_port=config.get('daemon_port', None),
db_url=config.get('db_url', None),
timeout=config.get('timeout', 20)
)
if loop:
def fetch():
log.debug("fetching data")
s.enter(loop, 1, fetch)
try:
atendo.fetch()
except Exception:
log.exception("Fetch failed")
log.info("Will fetch data every {0} second(s)".format(loop))
s = sched.scheduler(time.time, time.sleep)
s.enter(loop, 1, fetch)
s.run()
else:
# run only once
atendo.fetch()