1 | #Amqptools
|
2 |
|
3 | ##Install
|
4 |
|
5 | `npm install amqptools`
|
6 |
|
7 | ##Usage
|
8 | ###Initialize
|
9 | ```
|
10 | import amqpTools = require('amqptools');
|
11 | amqpTools.setConnectionURI(RABBITMQ_URL);
|
12 | ```
|
13 |
|
14 | ###Task start
|
15 | ```
|
16 | var taskManager = amqpTools.tasks;
|
17 | var newTask = taskManager.createTask('testTask', {title: "test", data: {value: 1}});
|
18 | newTask.start(() => {
|
19 | should.exists(newTask.uuid);
|
20 | }
|
21 | ```
|
22 | ###Task process
|
23 | ```
|
24 | var taskManager = amqpTools.tasks;
|
25 | taskManager.service = SERVICE_NAME;
|
26 | taskManager.processTask(TASK_TYPE, function (taskdata, taskDone) {
|
27 | // Your task processor
|
28 | // invoke taskDone() when task is done
|
29 | })
|
30 |
|
31 | ```
|
32 |
|
33 | ##Events
|
34 | ```
|
35 | high level event emitter over amqp
|
36 |
|
37 | each event should has format:
|
38 | <exchange>:<topic>
|
39 | ```
|
40 |
|
41 | ##RPC
|
42 | ```
|
43 | high level RPC over AMQP
|
44 | action in format:
|
45 | <exchange>:<topic>
|
46 |
|
47 | request:
|
48 | caller -> erpc:<exchange> (topic) -> processor
|
49 | response:
|
50 | processor -> replyTo -> caller
|
51 | ```
|