-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
38 lines (28 loc) · 1.01 KB
/
main.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
import time
from multiprocessing import Process
from pool_mapper import map_network, initialize
from latency_test import update
from awesome_scraper import main
# Time between updates; not possible for script to lag for more than twice this
# plus 110 seconds
UPDATE = 3600
while True:
start = time.time()
weights, rpc = initialize()
# map_network(rpc, weights, choice, is_balance, pause)
pool_mapper = Process(target=map_network, args=(rpc, weights, 0, False, 0))
pool_mapper.start()
latency_test = Process(target=update)
latency_test.start()
pool_mapper.join(UPDATE)
elapsed = min(time.time()-start, UPDATE-100) # give it at least 100s to finish
latency_test.join(UPDATE-elapsed)
# awesome_scraper updates gif from latency images, so must be run after latencytest
elapsed = min(time.time()-start, UPDATE-10) # give it at least 10s to finish
awesome = Process(target=main)
awesome.start()
awesome.join(UPDATE-elapsed)
awesome.terminate()
latency_test.terminate()
pool_mapper.terminate()
time.sleep(UPDATE)