from dsa_mq.connection import Connection
from dsa_mq.config import Config
+import json
import logging
import logging.handlers
import optparse
def do_replicate(message):
global last_run
last_update = int(time.time())
- LOG.debug("Got message at %s: %s" % (last_update, message['message']))
- if last_run > message.get('timestamp', 0):
+ timestamp = last_update
+ try:
+ message = json.loads(message)
+ except ValueError:
+ pass
+
+ if isinstance(message, dict):
+ timestamp = message.get('timestamp', last_update)
+ message = message.get('message', 'update required')
+ LOG.debug("Got message at %s: %s" % (last_update, message))
+ if last_run > timestamp, last_update):
return
command = ['/usr/bin/ud-replicate']
LOG.debug('%s finished with ret: 0' % ' '.join(command))
finally:
os.environ['TERM'] = old_term
- last_run = int(time.time())
+ last_run = last_update
def main():
conn = Connection(conf=mq_conf)
sys.exit(0)
if __name__ == '__main__':
- do_replicate('startup complete')
+ do_replicate(json.dumps(
+ {'timestamp': time.time(),
+ 'message': 'startup complete'}))
main()