54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
#!/usr/bin/env python
|
|
import sentry_sdk
|
|
import time
|
|
import request
|
|
import os
|
|
import redis
|
|
import json
|
|
|
|
"""
|
|
Scheduler
|
|
"""
|
|
|
|
__author__ = "@kocsisr"
|
|
__copyright__ = "Copyright 2020, GoldenPogácsa Team"
|
|
__module_name__ = "app"
|
|
__version__text__ = "1"
|
|
|
|
sentry_sdk.init("https://0a106e104e114bc9a3fa47f9cb0db2f4@sentry.kmlabz.com/10")
|
|
|
|
if __name__ == "__main__":
|
|
r = redis.Redis(host='localhost', port=6379, db=0)
|
|
|
|
ip_list = os.environ['INITIAL_SERVERS'].split(',')
|
|
|
|
ip_list_redis = json.loads(r.get('consumer_list').decode('utf-8'))
|
|
|
|
temp_dict = {}
|
|
|
|
for i in ip_list:
|
|
response = request.post(http=i + '/sync', json={'uuid': os.environ['LOCAL_UUID']})
|
|
|
|
if response.status_code == 200:
|
|
temp_dict[response.json()['uuid']] = {'ip': i}
|
|
|
|
ip_list_redis.update(temp_dict)
|
|
|
|
r.set('consumer_list', json.dumps(ip_list_redis).encode('utf-8'))
|
|
|
|
while True:
|
|
|
|
ip_list_redis = json.loads(r.get('consumer_list').decode('utf-8'))
|
|
|
|
for i in ip_list_redis:
|
|
response = request.post(http=i + '/sync', json={'uuid': os.environ['LOCAL_UID']})
|
|
if response.status_code == 200:
|
|
temp_dict[response.json()['uuid']] = {'ip': i}
|
|
|
|
ip_list_redis.update(temp_dict)
|
|
r.set('consumer_list', json.dumps(ip_list_redis).encode('utf-8'))
|
|
|
|
time.sleep(30)
|
|
|
|
print("Consumer-Scheduler")
|