UNPKG

reshuffle

Version:

Reshuffle is a fast, unopinionated, minimalist integration framework

31 lines (24 loc) 1.16 kB
const { Reshuffle, CronConnector, SQLStoreAdapter } = require('../..'); const { Pool } = require('pg') const app = new Reshuffle(); const connector = new CronConnector(); app.register(connector); // see https://node-postgres.com/features/connecting on how to configure the pool const pool = new Pool(); const persistentStore = new SQLStoreAdapter(pool, "reshuffledb"); app.setPersistentStore(persistentStore); app.when(connector.on({'interval':5000}), async (event) => { let store = event.getPersistentStore(); // single server setup let times = await store.get('scripts/times-said-hello') || 0; console.log(`Hello World! ${times} times.`); times++; await store.set("scripts/times-said-hello", times); // for destributed setup with many reshuffle servers set() should be replaced with update() let safe_count_times = await store.get('scripts/times-said-hello-safe_count_times') || 0; console.log(`Hello World! safe count = ${safe_count_times} times.`); await store.update("scripts/times-said-hello-safe_count_times", (safe_count_times) => { return safe_count_times === undefined ? 1 : (safe_count_times+1); }); }); app.start()