Skip to content
Snippets Groups Projects
README.md 1.27 KiB
Newer Older
# rabbitmq_agents

This repo keeps different rabbitmq agents that help in account creation on OHPC system.

Ravi Tripathi's avatar
Ravi Tripathi committed
It has 2 branches ```develop``` and ```production``` , that houses agents based on where they are launched
Bo-Chun Chen's avatar
Bo-Chun Chen committed

## Using RCRMQ class

- First, rename `rabbit_config.py.example` to `rabbit_config.py`
Bo-Chun Chen's avatar
Bo-Chun Chen committed

- Modify config file, at least the `Password` needs to be your own passwod

- In your code:

```
# import the class
from rc_rmq import RCRMQ

# instantiate an instance
rc_rmq = RCRMQ({'exchange': 'RegUsr'})

# publish a message to message queue
rc_rmq.publish_msg({
  'routing_key': 'your_key',
  'msg': {
    'type': 'warning',
    'content': 'this is warning'
  }
})
Bo-Chun Chen's avatar
Bo-Chun Chen committed

# to consume message from a queue
# you have to first define callback function
# with parameters: channel, method, properties, body
def callback_function(ch, method, properties, body):
  msg = json.loads(body)
  print("get msg: {}".format(msg['username')

  # this will stop the consumer
  rc_rmq.stop_consumer()

# start consume messagre from queue with callback function
rc_rmq.start_consume({
  'queue': 'queue_name',
Bo-Chun Chen's avatar
Bo-Chun Chen committed
  'routing_key: 'your_key',
Bo-Chun Chen's avatar
Bo-Chun Chen committed
  'cb': callback_function
})

# don't forget to close connection
rc_rmq.disconnect()
Bo-Chun Chen's avatar
Bo-Chun Chen committed
```

### Account creation flowchart
![Account creation flowchart](./account-creation-flow.png)