const worker = WorkflowWorkerBuilder.make('test-worker', {
concurrency: 1,
pollInterval,
})
.addWorkflow(TestWorkflow)
.buildLayer()
.pipe(Layer.provide(TestWorkflowLive));
yield* Effect.fork(Layer.launch(worker));
// Poll and claim workflow
yield* TestClock.adjust(pollInterval);
//Just doing yield* TestClock.adjust(Duration.seconds(10)) wont work, deferred will not be resolved
yield* TestClock.adjust(Duration.seconds(1));
// Retry 2 happens after 2 second delay (exponential backoff)
yield* TestClock.adjust(Duration.seconds(2));
// Give time for final attempt to complete
yield* TestClock.adjust(Duration.seconds(4));
// Wait for workflow to complete
yield* Deferred.await(workflowCompleted).pipe(Effect.timeout(Duration.seconds(5)));
const worker = WorkflowWorkerBuilder.make('test-worker', {
concurrency: 1,
pollInterval,
})
.addWorkflow(TestWorkflow)
.buildLayer()
.pipe(Layer.provide(TestWorkflowLive));
yield* Effect.fork(Layer.launch(worker));
// Poll and claim workflow
yield* TestClock.adjust(pollInterval);
//Just doing yield* TestClock.adjust(Duration.seconds(10)) wont work, deferred will not be resolved
yield* TestClock.adjust(Duration.seconds(1));
// Retry 2 happens after 2 second delay (exponential backoff)
yield* TestClock.adjust(Duration.seconds(2));
// Give time for final attempt to complete
yield* TestClock.adjust(Duration.seconds(4));
// Wait for workflow to complete
yield* Deferred.await(workflowCompleted).pipe(Effect.timeout(Duration.seconds(5)));