Skip to content

Commit 8c7dcc6

Browse files
feat: Added static Asia/Kolkata as the timezone for AutoImports (#1097)
2 parents 86d95c4 + 26b492a commit 8c7dcc6

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

apps/api/src/app/auto-import-jobs-schedular/usecase/auto-import-jobs-schedular.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ export class AutoImportJobsSchedular {
4848

4949
const interval = parser.parseExpression(cronExpression.trim(), {
5050
currentDate: currentNextRun,
51+
tz: 'Asia/Kolkata',
5152
});
5253

5354
const nextRun = interval.next().toDate();

apps/api/src/app/import-jobs/usecase/create-userjob/create-userjob.usecase.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,17 +73,19 @@ export class CreateUserJob {
7373
return dayjs().add(5, 'minutes').toDate();
7474
}
7575

76+
const interval = parser.parseExpression(cronExpression.trim(), {
77+
tz: 'Asia/Kolkata',
78+
});
79+
const nextCronTime = dayjs(interval.next().toDate());
7680
const now = dayjs();
77-
const fiveMinutesFromNow = now.add(5, 'minutes');
7881

79-
const interval = parser.parseExpression(cronExpression.trim());
80-
const nextCronTime = dayjs(interval.next().toDate());
82+
if (nextCronTime.isBefore(now.add(1, 'minute'))) {
83+
const nextOccurrence = dayjs(interval.next().toDate());
8184

82-
if (nextCronTime.isAfter(fiveMinutesFromNow)) {
83-
return fiveMinutesFromNow.toDate();
84-
} else {
85-
return nextCronTime.toDate();
85+
return nextOccurrence.toDate();
8686
}
87+
88+
return nextCronTime.toDate();
8789
} catch (error) {
8890
return dayjs().add(5, 'minutes').toDate();
8991
}

apps/queue-manager/src/consumers/get-auto-import-job-data.consumer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
} from '@impler/shared';
99

1010
import { SendImportJobDataConsumer } from './send-import-job-data.consumer';
11-
import { JobMappingRepository, ColumnRepository, UploadRepository, UserJobEntity } from '@impler/dal';
11+
import { JobMappingRepository, ColumnRepository, UserJobEntity } from '@impler/dal';
1212

1313
interface IValidationResult {
1414
hasInvalidRecords: boolean;
@@ -24,7 +24,6 @@ export class SendAutoImportJobDataConsumer extends SendImportJobDataConsumer {
2424
private columnRepo: ColumnRepository = new ColumnRepository();
2525
private rssXmlService: RSSXMLService = new RSSXMLService();
2626
private paymentAPIService: PaymentAPIService = new PaymentAPIService();
27-
private uploadRepository: UploadRepository = new UploadRepository();
2827

2928
async message(message: { content: string }) {
3029
const data = JSON.parse(message.content) as { _jobId: string };

0 commit comments

Comments
 (0)