Merge pull request #16116 from RoadieHQ/keep-sync-alive
keep event stream alive even if its taking a while
This commit is contained in:
@@ -32,6 +32,7 @@ import { DocsBuilder, shouldCheckForUpdate } from '../DocsBuilder';
|
||||
import { DocsSynchronizer, DocsSynchronizerSyncOpts } from './DocsSynchronizer';
|
||||
|
||||
jest.mock('../DocsBuilder');
|
||||
jest.useFakeTimers();
|
||||
|
||||
jest.mock('node-fetch', () => ({
|
||||
__esModule: true,
|
||||
@@ -130,6 +131,8 @@ describe('DocsSynchronizer', () => {
|
||||
|
||||
const logger = MockedDocsBuilder.mock.calls[0][0].logger;
|
||||
|
||||
jest.advanceTimersByTime(10001);
|
||||
|
||||
logger.info('Some more log');
|
||||
|
||||
return true;
|
||||
@@ -144,13 +147,19 @@ describe('DocsSynchronizer', () => {
|
||||
generators,
|
||||
});
|
||||
|
||||
expect(mockResponseHandler.log).toHaveBeenCalledTimes(3);
|
||||
expect(mockResponseHandler.log).toHaveBeenCalledTimes(4);
|
||||
expect(mockResponseHandler.log).toHaveBeenCalledWith('Some log');
|
||||
expect(mockResponseHandler.log).toHaveBeenCalledWith('Another log');
|
||||
expect(mockResponseHandler.log).toHaveBeenCalledWith(
|
||||
expect.stringMatching(/info.*Some more log/),
|
||||
);
|
||||
|
||||
expect(mockResponseHandler.log).toHaveBeenCalledWith(
|
||||
expect.stringMatching(
|
||||
/info.*The docs building process is taking a little bit longer to process this entity. Please bear with us/,
|
||||
),
|
||||
);
|
||||
|
||||
expect(mockResponseHandler.finish).toHaveBeenCalledWith({
|
||||
updated: true,
|
||||
});
|
||||
|
||||
@@ -128,7 +128,13 @@ export class DocsSynchronizer {
|
||||
cache: this.cache,
|
||||
});
|
||||
|
||||
const interval = setInterval(() => {
|
||||
taskLogger.info(
|
||||
'The docs building process is taking a little bit longer to process this entity. Please bear with us.',
|
||||
);
|
||||
}, 10000);
|
||||
const updated = await this.buildLimiter(() => docsBuilder.build());
|
||||
clearInterval(interval);
|
||||
|
||||
if (!updated) {
|
||||
finish({ updated: false });
|
||||
|
||||
Reference in New Issue
Block a user