All files / services/scheduler-service/src/temporal workflows.js

0% Statements 0/6
100% Branches 0/0
0% Functions 0/1
0% Lines 0/6

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                                                   
const { proxyActivities } = require('@temporalio/workflow');
 
// Retry conservé à 3 : `executeScheduledTrigger` est désormais idempotente au
// rejeu (clé de dédup Redis par `runId`), donc un retry ne crée pas de job en
// double. Un rejeu retourne le jobId déjà créé.
const { executeScheduledTrigger } = proxyActivities({
  startToCloseTimeout: '5 minutes',
  retry: {
    initialInterval: '10s',
    maximumAttempts: 3,
  },
});
 
/**
 * Workflow déclenché par un Temporal Schedule (cron). Générique : il appelle
 * l'activité `executeScheduledTrigger`, qui aiguille vers le point d'entrée du
 * service cible (`crawler`, `workflow`, …) selon la planification.
 */
async function SchedulerTW(args) {
  const { scheduleId } = args;
  console.log(`[SchedulerWorkflow] Triggered for schedule ${scheduleId}`);
  await executeScheduledTrigger(scheduleId);
}
 
module.exports = { SchedulerTW };