mexecute #
Allows the execution of multiple commands or 'actions' in a single step.
It creates a Redis transaction block and executes it immediately, all actions will be executed sequentially and as a single atomic and isolated operation.
Only already valid actions of the memoryStorage controller can be executed using mexecute.
Arguments #
mexecute(actions, [options]);
Arguments | Type | Description |
---|---|---|
actions | object[] | List of actions to execute |
options | object | Optional query arguments |
actions #
The actions
argument is an array of objects. Each object describes an action to be executed, using the following properties:
Property | Type | Description |
---|---|---|
action | string | Action name |
args | object | Arguments |
options #
The options
arguments can contain the following option properties:
Property | Type (default) | Description |
---|---|---|
queuable | boolean (true) | If true , queues the request during downtime, until connected to Kuzzle again |
timeout | number ( -1 ) | Time (in ms) during which a request will still be waited to be resolved. Set it -1 if you want to wait indefinitely |
triggerEvents | boolean ( false ) | If set to true , will trigger events even if using Embeded SDK. You should always ensure that your events/pipes does not create an infinite loop. Available since Kuzzle 2.31.0 |
Resolve #
Returns an array of error & result pairs for each executed action, in order.
Usage #
try {
const actions = [
{ 'action': 'set', 'args': { '_id': 'list:a', 'body': { 'value': 1, 'ex': 100, 'nx': true } } },
{ 'action': 'get', 'args': { '_id': 'list:a' } },
{ 'action': 'del', 'args': { 'body': { 'keys': ['list:a'] } } }];
// Prints: "[ [ null, 'OK' ], [ null, '1' ], [ null, 1 ] ]"
console.log(await kuzzle.ms.mexecute(actions));
} catch (error) {
console.error(error.message);
}
Edit this page on Github(opens new window)