MessageQueue
Line 34: | Line 34: | ||
===When to use?=== | ===When to use?=== | ||
+ | MessageQueue can be used: | ||
+ | |||
+ | * when a message cames more than once | ||
+ | * when a message send more messages that needs to be processed | ||
'''See also''' | '''See also''' | ||
*[[Messages]] | *[[Messages]] |
Revision as of 12:04, 9 April 2013
MessageQueue API for JavaScript.
The MessageQueues is used to create a mechanism for organizing YATE's messages in different queues, identified by message name and some specified filters.
Contents |
How to create MessageQueue
In JavaScript a MessageQueue can be created by calling Message.installHook() method.
A description of MessageQueue behaviour can be found here .
installHook parameters
- processCallback - function, optional. The method that should process the messages skipping the engine handlers list.
- msgName - string, mandatory. The message name for the queue filtering.
- workers - integer, mandatory. The number of workers that should be used for message processing.
- trapCallback - function, optional. The method that should be called when a queue overload is detected.
- trapCount - integer, mandatory if trapCallback is present. The number of messages in the queue when we should be alerted.
- filter - string, optional, can be repeated. Optional message filter. Should be in form 'name=value'.
Examples
1. Creates a MessageQueue for engine.timer message with one processing thread.
installHook("engine.timer",1);
2. Creates a MessageQueue for call.route message, who has called=123. Two processing threads will be created. When a message needs to be processed the callback method will be called.
installHook(callback,"call.route",2,"called=123");
3. The same behaviour as above only that the trapCallback method will be called when in the queue exists more than 50 unprocessed messages
installHook(callback,"call.route",2,trapCallback,50,"called=123");
When to use?
MessageQueue can be used:
- when a message cames more than once
- when a message send more messages that needs to be processed
See also