Skip to content

Commit 977bdd9

Browse files
committed
chore: add ttl example code
1 parent 68d3f04 commit 977bdd9

File tree

4 files changed

+13
-14
lines changed

4 files changed

+13
-14
lines changed

examples/addtask.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
const { constants } = require('./wrapper.js');
22
const notifier = require('./notifier.js');
3-
const { createNode, persistentNode } = require('./createnode.js');
3+
const { createNode } = require('./createnode.js');
44

55
async function createTask(client, data) {
66
// eslint-disable-next-line no-bitwise
7-
const message = await createNode(client, '/tasks/task-', persistentNode | constants.ZOO_SEQUENCE, data);
7+
const message = await createNode(client, '/tasks/task-', constants.ZOO_PERSISTENT | constants.ZOO_PERSISTENT_SEQUENTIAL, data);
88
notifier.emit('addTask', message);
99
}
1010

examples/createnode.js

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
const { isClientConnected } = require('./wrapper.js');
22

3-
const persistentNode = 0;
4-
53
/**
64
* @param client {ZooKeeperPromise}
75
* @param path {string}
86
* @param flags {number}
97
* @param data {string|Buffer}
108
* @returns {Promise}
119
*/
12-
async function createNode(client, path, flags, data = '') {
10+
async function createNode(client, path, flags, ttl, data = '') {
1311
try {
1412
if (!isClientConnected()) {
1513
throw new Error('createNode: client is not connected');
1614
}
1715

18-
const createdPath = await client.create(path, data, flags);
16+
const createdPath = await client.create(path, data, flags, ttl);
17+
1918
return `(created: ${createdPath})`;
2019
} catch (error) {
2120
return `${path} Error: ${error.message}`;
@@ -24,5 +23,4 @@ async function createNode(client, path, flags, data = '') {
2423

2524
module.exports = {
2625
createNode,
27-
persistentNode,
2826
};

examples/index.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { getClient } = require('./wrapper.js');
1+
const { getClient, constants } = require('./wrapper.js');
22
const { createNodes } = require('./setup.js');
33
const { electLeader } = require('./electleader.js');
44
const { createWorker } = require('./createworker.js');
@@ -22,7 +22,8 @@ async function init() {
2222
const client = getClient();
2323

2424
client.on('connect', async () => {
25-
await createNodes(client, ['/workers', '/assign', '/tasks', '/status']);
25+
await createNodes(client, ['/workers', '/assign', '/tasks', '/status'], constants.ZOO_CONTAINER);
26+
await createNodes(client, ['/myttl'], constants.ZOO_PERSISTENT_WITH_TTL, 5000);
2627

2728
notifier.on('leader', async () => {
2829
await listen(client, '/workers');

examples/setup.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
const notifier = require('./notifier.js');
2-
const { createNode, persistentNode } = require('./createnode.js');
2+
const { createNode } = require('./createnode.js');
33

4-
async function createAllNodes(client, paths) {
4+
async function createAllNodes(client, paths, flags, ttl) {
55
const promises = [];
66
paths.forEach((path) => {
7-
promises.push(createNode(client, path, persistentNode));
7+
promises.push(createNode(client, path, flags, ttl));
88
});
99

1010
const messages = await Promise.all(promises);
@@ -13,8 +13,8 @@ async function createAllNodes(client, paths) {
1313
});
1414
}
1515

16-
async function createNodes(client, paths) {
17-
createAllNodes(client, paths);
16+
async function createNodes(client, paths, flags, ttl = undefined) {
17+
createAllNodes(client, paths, flags, ttl);
1818
}
1919

2020
module.exports = {

0 commit comments

Comments
 (0)