* Enqueue merge queue enrichment and retain a single follow-up request if one arrives * while a fetch is already in flight.
(
workspaceId: string,
prLinkBase: { owner: string; repo: string; number: number },
prUrl: string,
statusFetchedAt: number
)
| 445 | * while a fetch is already in flight. |
| 446 | */ |
| 447 | private scheduleMergeQueueRefresh( |
| 448 | workspaceId: string, |
| 449 | prLinkBase: { owner: string; repo: string; number: number }, |
| 450 | prUrl: string, |
| 451 | statusFetchedAt: number |
| 452 | ): void { |
| 453 | const request: MergeQueueRefreshRequest = { |
| 454 | prLinkBase, |
| 455 | prUrl, |
| 456 | statusFetchedAt, |
| 457 | }; |
| 458 | |
| 459 | if (this.mergeQueueRefreshInFlight.has(workspaceId)) { |
| 460 | this.mergeQueueRefreshPending.set(workspaceId, request); |
| 461 | return; |
| 462 | } |
| 463 | |
| 464 | this.startMergeQueueRefresh(workspaceId, request); |
| 465 | } |
| 466 | |
| 467 | private startMergeQueueRefresh(workspaceId: string, request: MergeQueueRefreshRequest): void { |
| 468 | const refreshPromise = this.fetchMergeQueueEntry(workspaceId, request.prLinkBase) |
no test coverage detected