Skip to content

Commit 764c207

Browse files
committed
Removing the db update did not eliminate the panic - see if we can workout if its before or after pulling google data
1 parent 52e3a66 commit 764c207

File tree

3 files changed

+22
-23
lines changed

3 files changed

+22
-23
lines changed

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ const periodicExternalReadModelRefresh = setInterval(() => {
7777
'Unexpected error when refreshing read model with external sources'
7878
)
7979
);
80-
}, 120_000);
80+
}, 60_000);
8181
server.on('close', () => {
8282
clearInterval(periodicReadModelRefresh);
8383
clearInterval(periodicExternalReadModelRefresh);

src/read-models/shared-state/async-apply-external-event-sources.ts

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import {Logger} from 'pino';
22
import * as E from 'fp-ts/Either';
33
import * as O from 'fp-ts/Option';
4-
import * as RA from 'fp-ts/ReadonlyArray';
54
import {DomainEvent} from '../../types';
65
import {BetterSQLite3Database} from 'drizzle-orm/better-sqlite3';
7-
import {pipe} from 'fp-ts/lib/function';
86
import {EpochTimestampMilliseconds, MinimalEquipment} from './return-types';
97
import {
108
columnBoundsRequired,
@@ -22,6 +20,7 @@ import {getChunkIndexes} from '../../util';
2220
import {getAllEquipmentMinimal} from './equipment/get';
2321
import {expandLastQuizResult} from './equipment/expand';
2422
import {Dependencies} from '../../dependencies';
23+
import {inspect} from 'node:util';
2524

2625
const ROW_BATCH_SIZE = 200;
2726

@@ -74,18 +73,23 @@ const pullNewEquipmentQuizResultsForSheet = async (
7473
);
7574
return;
7675
}
77-
pipe(
78-
data.right,
79-
extractGoogleSheetData(
80-
logger,
81-
trainingSheetId,
82-
equipment.id,
83-
sheet,
84-
timezone,
85-
equipment.lastQuizResult
86-
),
87-
RA.map(updateState)
88-
);
76+
logger.info('Pulled data from google');
77+
logger.info(inspect(data));
78+
logger.info('About to extract google sheet data');
79+
const result = extractGoogleSheetData(
80+
logger,
81+
trainingSheetId,
82+
equipment.id,
83+
sheet,
84+
timezone,
85+
equipment.lastQuizResult
86+
)(data.right);
87+
logger.info('Google sheet data extracted, result:');
88+
logger.info(inspect(result));
89+
logger.info('Updating data with the extracted data');
90+
if (O.isSome(result)) {
91+
result.value.forEach(updateState);
92+
}
8993
logger.info('Finished processing sheet');
9094
}
9195
};

src/training-sheets/google.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -269,8 +269,8 @@ export const extractGoogleSheetData =
269269
) =>
270270
(
271271
spreadsheet: GoogleSpreadsheetDataForSheet
272-
): ReadonlyArray<EventOfType<'EquipmentTrainingQuizResult'>> => {
273-
return pipe(
272+
): O.Option<ReadonlyArray<EventOfType<'EquipmentTrainingQuizResult'>>> =>
273+
pipe(
274274
spreadsheet.sheets[0].data,
275275
array.lookup(0),
276276
O.flatMap(sheetData => O.fromNullable(sheetData.rowData)),
@@ -295,13 +295,8 @@ export const extractGoogleSheetData =
295295
)
296296
)
297297
)
298-
),
299-
O.getOrElse(() => {
300-
logger.warn('Failed to get row data, skipping');
301-
return [] as ReadonlyArray<EventOfType<'EquipmentTrainingQuizResult'>>;
302-
})
298+
)
303299
);
304-
};
305300

306301
export const shouldPullFromSheet = (sheet: {
307302
properties: {

0 commit comments

Comments
 (0)