Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | const { Worker, NativeConnection } = require('@temporalio/worker');
const path = require('path');
const config = require('../config');
const activities = require('./activities');
async function runWorker() {
console.log('[Scheduler-Worker] Starting...');
const connection = await NativeConnection.connect({
address: config.temporalAddress,
});
const worker = await Worker.create({
connection,
taskQueue: 'scheduler-activities',
workflowsPath: path.join(__dirname, 'workflows.js'),
activities,
// Laisse le déclenchement planifié en vol se terminer avant l'arrêt forcé.
shutdownGraceTime: '80s',
});
let shuttingDown = false;
const shutdown = (signal) => {
if (shuttingDown) return;
shuttingDown = true;
console.log(`[Scheduler-Worker] ${signal} received — draining in-flight activities (up to 80s)...`);
worker.shutdown();
};
process.on('SIGINT', () => shutdown('SIGINT'));
process.on('SIGTERM', () => shutdown('SIGTERM'));
console.log('[Scheduler-Worker] Listening on scheduler-activities');
await worker.run();
console.log('[Scheduler-Worker] Worker stopped');
}
module.exports = { runWorker };
|