-
Notifications
You must be signed in to change notification settings - Fork 2
/
cloud_event_queue.py
executable file
·35 lines (29 loc) · 1.13 KB
/
cloud_event_queue.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
import time
import json
import base64
import redis
import sys
class Cloud_Event_Queue():
def __init__(self,redis):
self.redis = redis
def store_event_queue( self, event, data,status ="RED" ):
log_data = {}
log_data["event"] = event
log_data["data"] = data
log_data["time"] = time.time()
log_data['status'] = status
json_data = json.dumps(log_data)
json_data = base64.b64encode(json_data)
self.redis.lpush( "QUEUES:CLOUD_ALARM_QUEUE", json_data)
self.redis.ltrim( "QUEUES:CLOUD_ALARM_QUEUE", 0,800)
self.redis.lpush( "QUEUES:SYSTEM:PAST_ACTIONS", json_data)
self.redis.ltrim( "QUEUES:SYSTEM:PAST_ACTIONS", 0,800)
if __name__ == "__main__":
redis = redis.StrictRedis(host='localhost', port=6379, db=0)
cloud_event_queue = Cloud_Event_Queue( redis )
event = sys.argv[1]
process = sys.argv[2]
#print "event",event,"process",process
data = { "action":"reboot" ,"process":process}
cloud_event_queue.store_event_queue( event,data )
redis.hincrby("CONTROLLER_STATUS", "system_resets")