diff --git a/activities-cancellation-heartbeating/src/activities.ts b/activities-cancellation-heartbeating/src/activities.ts index 956b11b7..7134a453 100644 --- a/activities-cancellation-heartbeating/src/activities.ts +++ b/activities-cancellation-heartbeating/src/activities.ts @@ -7,11 +7,12 @@ export async function fakeProgress(sleepIntervalMs = 1000): Promise { const startingPoint = activityInfo().heartbeatDetails || 1; log.info('Starting activity at progress', { startingPoint }); for (let progress = startingPoint; progress <= 100; ++progress) { + // heartbeat immediately after entering loop to retry activity from last failed progress + heartbeat(progress); // simple utility to sleep in activity for given interval or throw if Activity is cancelled // don't confuse with Workflow.sleep which is only used in Workflow functions! log.info('Progress', { progress }); await sleep(sleepIntervalMs); - heartbeat(progress); } } catch (err) { if (err instanceof CancelledFailure) {