From 90a0455c3699be82e9cfc4fb9fd3d0d2e9816e75 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Tue, 16 Jan 2024 22:00:25 +0800 Subject: [PATCH] Update job to use ioredis --- packages/api/src/jobs/rss/refreshFeed.ts | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/packages/api/src/jobs/rss/refreshFeed.ts b/packages/api/src/jobs/rss/refreshFeed.ts index 73aaf7aab..6f888c6de 100644 --- a/packages/api/src/jobs/rss/refreshFeed.ts +++ b/packages/api/src/jobs/rss/refreshFeed.ts @@ -5,9 +5,9 @@ import * as jwt from 'jsonwebtoken' import { parseHTML } from 'linkedom' import Parser, { Item } from 'rss-parser' import { promisify } from 'util' -import { RedisClientType } from 'redis' import createHttpTaskWithToken from '../../utils/createTask' import { env } from '../../env' +import Redis from 'ioredis' type FolderType = 'following' | 'inbox' @@ -72,7 +72,7 @@ export const isOldItem = (item: RssFeedItem, lastFetchedAt: number) => { const feedFetchFailedRedisKey = (feedUrl: string) => `feed-fetch-failure:${feedUrl}` -const isFeedBlocked = async (feedUrl: string, redisClient: RedisClientType) => { +const isFeedBlocked = async (feedUrl: string, redisClient: Redis) => { const key = feedFetchFailedRedisKey(feedUrl) try { const result = await redisClient.get(key) @@ -89,10 +89,7 @@ const isFeedBlocked = async (feedUrl: string, redisClient: RedisClientType) => { return false } -const incrementFeedFailure = async ( - feedUrl: string, - redisClient: RedisClientType -) => { +const incrementFeedFailure = async (feedUrl: string, redisClient: Redis) => { const key = feedFetchFailedRedisKey(feedUrl) try { const result = await redisClient.incr(key) @@ -260,7 +257,7 @@ const sendUpdateSubscriptionMutation = async ( } const isItemRecentlySaved = async ( - redisClient: RedisClientType, + redisClient: Redis, userId: string, url: string ) => { @@ -281,7 +278,7 @@ const createTask = async ( item: RssFeedItem, fetchContent: boolean, folder: FolderType, - redisClient: RedisClientType + redisClient: Redis ) => { console.log('creating task to fetch', feedUrl) const isRecentlySaved = await isItemRecentlySaved( @@ -484,7 +481,7 @@ const processSubscription = async ( fetchContent: boolean, folder: FolderType, feed: RssFeed, - redisClient: RedisClientType + redisClient: Redis ) => { let lastItemFetchedAt: Date | null = null let lastValidItem: RssFeedItem | null = null @@ -618,10 +615,7 @@ const processSubscription = async ( console.log('Updated subscription', updatedSubscription) } -export const refreshFeed = async ( - redisClient: RedisClientType, - request: any -) => { +export const refreshFeed = async (redisClient: Redis, request: any) => { if (isRefreshFeedRequest(request)) { return _refreshFeed(redisClient, request) } @@ -630,7 +624,7 @@ export const refreshFeed = async ( } export const _refreshFeed = async ( - redisClient: RedisClientType, + redisClient: Redis, request: RefreshFeedRequest ) => { try {