diff --git a/src/controllers/watch-status/index.ts b/src/controllers/watch-status/index.ts index acd9726..a45668a 100644 --- a/src/controllers/watch-status/index.ts +++ b/src/controllers/watch-status/index.ts @@ -121,8 +121,8 @@ app.openapi(route, async (c) => { client.publishJSON({ url: c.req.url, body: { deviceId, watchStatus, titleId, isRetrying: true }, - retries: 0, - delay: 60, + retries: 3, + delay: "1m", }); } diff --git a/src/libs/anilist/getNextEpisodeAiringAt.ts b/src/libs/anilist/getNextEpisodeAiringAt.ts index bcbef9a..b504528 100644 --- a/src/libs/anilist/getNextEpisodeAiringAt.ts +++ b/src/libs/anilist/getNextEpisodeAiringAt.ts @@ -7,7 +7,7 @@ const GetNextEpisodeAiringAtQuery = graphql(` status nextAiringEpisode { episode - timeUntilAiring + airingAt } } } diff --git a/src/libs/maybeScheduleNextAiringEpisode.ts b/src/libs/maybeScheduleNextAiringEpisode.ts index 808ac06..1c311c8 100644 --- a/src/libs/maybeScheduleNextAiringEpisode.ts +++ b/src/libs/maybeScheduleNextAiringEpisode.ts @@ -37,15 +37,14 @@ export async function maybeScheduleNextAiringEpisode( return; } - const { timeUntilAiring, episode: nextEpisode } = nextAiring; + const { airingAt, episode: nextEpisode } = nextAiring; const client = new Client({ token: env.QSTASH_TOKEN }); const { messageId } = await client.publishJSON({ url: `${domain}/internal/new-episode`, body: { aniListId, episodeNumber: nextEpisode }, - retries: 0, - delay: timeUntilAiring, - contentBasedDeduplication: true, + retries: 6, + notBefore: airingAt, }); await Promise.allSettled([ setTitleMessage(env, aniListId, messageId), diff --git a/src/scripts/initializeNextEpisodeQueue.ts b/src/scripts/initializeNextEpisodeQueue.ts index bb7f95e..94751b4 100644 --- a/src/scripts/initializeNextEpisodeQueue.ts +++ b/src/scripts/initializeNextEpisodeQueue.ts @@ -92,7 +92,7 @@ async function triggerNextEpisodeRoute(titleId: number) { aniListId: titleId, episodeNumber: mostRecentEpisodeNumber, }, - retries: 0, + retries: 6, }) .then(() => true) .catch((error) => { @@ -124,8 +124,8 @@ async function triggerNextEpisodeRoute(titleId: number) { aniListId: titleId, episodeNumber: title.nextAiringEpisode.episode, }, - retries: 0, - delay: title.nextAiringEpisode.timeUntilAiring, + retries: 6, + notBefore: title.nextAiringEpisode.airingAt, }) .then(() => true) .catch((error) => {