diff --git a/rc_util.py b/rc_util.py
new file mode 100644
index 0000000000000000000000000000000000000000..606d4a0820b0f7b07002b2dcd96113eabf2fb4ae
--- /dev/null
+++ b/rc_util.py
@@ -0,0 +1,42 @@
+from rc_rmq import RCRMQ
+import json
+
+rc_rmq = RCRMQ({'exchange': 'RegUsr'})
+tasks = {'ohpc_account': False, 'ohpc_homedir': False, 'ood_account': False, 'slurm_account': False}
+
+def add_account(username, full='', reason=''):
+  rc_rmq.publish_msg({
+    'routing_key': 'ohpc',
+    'msg': {
+      "username": username,
+      "fullname": full,
+      "reason": reason
+    }
+  })
+
+def worker(ch, method, properties, body):
+    msg = json.loads(body)
+    task = msg['username']
+    print("get msg: {}".format(task))
+
+    tasks[task] = True
+    ch.basic_ack(delivery_tag=method.delivery_tag)
+
+    # Check if all tasks are done
+    done = True
+    for key, status in tasks.items():
+        if not status:
+            done = False 
+    if done:
+        rc_rmq.stop_consume()
+  
+def consume(username, worker, debug=False):
+    if debug:
+        sleep(5)
+    else:
+        rc_rmq.start_consume({
+            'queue': username,
+            'cb': worker
+        })
+  
+    return { 'success' : True }