Skip to content

Commit 6697108

Browse files
committed
fix: full-sync not scheduling jobs
1 parent 7155cd8 commit 6697108

File tree

6 files changed

+52
-46
lines changed

6 files changed

+52
-46
lines changed

deno.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"@probot/pino": "npm:@probot/pino@^2.5.0",
1818
"@std/assert": "jsr:@std/assert@1",
1919
"@std/http": "jsr:@std/http@1",
20-
"@wei/probot-scheduler": "jsr:@wei/[email protected].13",
20+
"@wei/probot-scheduler": "jsr:@wei/[email protected].15",
2121
"bullmq": "npm:bullmq@^5.26.2",
2222
"express": "npm:express@^4.21.1",
2323
"ioredis": "npm:ioredis@^5.4.1",

deno.lock

Lines changed: 26 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ services:
1515
## Skip full-sync on startup:
1616
# command: deno task dev:skip-full-sync
1717
## Run full-sync manually:
18-
# > docker exec -it <CONTAINER_NAME> deno task full-sync
18+
# > docker exec -it pull-app-1 deno task full-sync
1919

2020
worker:
2121
build: .

scripts/full-sync.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { connectMongoDB, disconnectMongoDB } from "@/src/configs/database.ts";
22
import { fullSync } from "@wei/probot-scheduler";
33
import { createProbot } from "probot";
44
import logger from "@/src/utils/logger.ts";
5+
import { getRepositorySchedule } from "@/src/utils/get-repository-schedule.ts";
56

67
async function main() {
78
let exitCode = 0;
@@ -10,7 +11,9 @@ async function main() {
1011
await connectMongoDB();
1112

1213
const probot = createProbot({ overrides: { log: logger } });
13-
await fullSync(probot, null);
14+
await fullSync(probot, {
15+
getRepositorySchedule,
16+
});
1417
} catch (error) {
1518
logger.error(error, "Error during full sync");
1619
exitCode = 1;

src/index.ts

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
11
import express from "express";
22
import { createNodeMiddleware, createProbot } from "probot";
3-
import {
4-
createSchedulerService,
5-
JobPriority,
6-
RepositoryMetadataSchemaType,
7-
RepositorySchemaType,
8-
} from "@wei/probot-scheduler";
3+
import { createSchedulerService } from "@wei/probot-scheduler";
94
import createSchedulerApp from "@/src/app.ts";
105
import { appConfig } from "@/src/configs/app-config.ts";
116
import log from "@/src/utils/logger.ts";
127
import { connectMongoDB, disconnectMongoDB } from "@/src/configs/database.ts";
13-
import { getRandomCronSchedule } from "@/src/utils/helpers.ts";
148
import { getRedisClient } from "@/src/configs/redis.ts";
159
import createRouter from "@/src/router/index.ts";
10+
import { getRepositorySchedule } from "@/src/utils/get-repository-schedule.ts";
1611

1712
const args = Deno.args;
1813
const skipFullSync = args.includes("--skip-full-sync");
@@ -26,17 +21,6 @@ const probot = createProbot({
2621
log,
2722
},
2823
});
29-
// deno-lint-ignore require-await
30-
async function getRepositorySchedule(
31-
repository: RepositorySchemaType,
32-
currentMetadata?: RepositoryMetadataSchemaType,
33-
) {
34-
return {
35-
repository_id: repository.id,
36-
cron: currentMetadata?.cron ?? getRandomCronSchedule(),
37-
job_priority: currentMetadata?.job_priority ?? JobPriority.Normal,
38-
};
39-
}
4024
const schedulerApp = createSchedulerApp.bind(null, probot, {
4125
// Optional: Skip the initial full sync
4226
skipFullSync,
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import {
2+
JobPriority,
3+
type RepositoryMetadataSchemaType,
4+
type RepositorySchemaType,
5+
} from "@wei/probot-scheduler";
6+
import { getRandomCronSchedule } from "@/src/utils/helpers.ts";
7+
8+
// deno-lint-ignore require-await
9+
export async function getRepositorySchedule(
10+
repository: RepositorySchemaType,
11+
currentMetadata?: RepositoryMetadataSchemaType,
12+
) {
13+
return {
14+
repository_id: repository.id,
15+
cron: currentMetadata?.cron ?? getRandomCronSchedule(),
16+
job_priority: currentMetadata?.job_priority ?? JobPriority.Normal,
17+
};
18+
}

0 commit comments

Comments
 (0)