@@ -4,6 +4,8 @@ import { WorkflowExecutor } from "../../sdk";
44/**
55 * Wait for workflow to reach expected status
66 */
7+ const LOG_INTERVAL_MS = 15000 ;
8+
79export const waitForWorkflowStatus = async (
810 workflowClient : WorkflowExecutor ,
911 workflowId : string ,
@@ -12,13 +14,21 @@ export const waitForWorkflowStatus = async (
1214 pollIntervalMs = 3000
1315) : Promise < Workflow > => {
1416 const startTime = Date . now ( ) ;
17+ let lastLogTime = 0 ;
18+ let lastStatus : string | undefined ;
1519
1620 let lastError : unknown ;
1721 while ( Date . now ( ) - startTime < maxWaitTimeMs ) {
1822 try {
1923 const workflow = await workflowClient . getWorkflow ( workflowId , true ) ;
24+ const elapsed = Date . now ( ) - startTime ;
2025
2126 if ( workflow ?. status === expectedStatus ) {
27+ if ( process . env . CI && elapsed > 0 ) {
28+ console . log (
29+ `[waitForWorkflowStatus] workflowId=${ workflowId } reached ${ expectedStatus } in ${ elapsed } ms`
30+ ) ;
31+ }
2232 return workflow ;
2333 }
2434
@@ -28,6 +38,15 @@ export const waitForWorkflowStatus = async (
2838 ) ;
2939 }
3040
41+ lastStatus = workflow ?. status ;
42+
43+ if ( process . env . CI && Date . now ( ) - lastLogTime >= LOG_INTERVAL_MS ) {
44+ lastLogTime = Date . now ( ) ;
45+ console . log (
46+ `[waitForWorkflowStatus] workflowId=${ workflowId } status=${ workflow ?. status ?? "undefined" } elapsed=${ elapsed } ms (waiting for ${ expectedStatus } )`
47+ ) ;
48+ }
49+
3150 lastError = undefined ;
3251 await new Promise ( ( resolve ) => setTimeout ( resolve , pollIntervalMs ) ) ;
3352 } catch ( error ) {
@@ -41,7 +60,8 @@ export const waitForWorkflowStatus = async (
4160 throw new Error ( `Failed to get workflow status: ${ lastError } ` ) ;
4261 }
4362
63+ const lastStatusMsg = lastStatus !== undefined ? `; last status was ${ lastStatus } ` : "" ;
4464 throw new Error (
45- `Workflow did not reach status ${ expectedStatus } within ${ maxWaitTimeMs } ms`
65+ `Workflow did not reach status ${ expectedStatus } within ${ maxWaitTimeMs } ms${ lastStatusMsg } `
4666 ) ;
4767} ;
0 commit comments