expire digest in one day

This commit is contained in:
Hongbo Wu
2024-04-12 17:39:02 +08:00
parent 521698646d
commit 4342cdeb3e
3 changed files with 8 additions and 3 deletions

View File

@ -32,6 +32,9 @@ export const processCreateDigestJob = async (data: CreateDigestJobData) => {
// save digest to redis
await setDigest(data.userId, digest)
// simulate long running task
await new Promise((resolve) => setTimeout(resolve, 5000))
logger.info('digest created', digest)
return true

View File

@ -62,7 +62,7 @@ export function digestRouter() {
// check if job is already in queue
// if yes then return 409 conflict
// else enqueue job
const jobId = createJobId(userId, CREATE_DIGEST_JOB)
const jobId = createJobId(CREATE_DIGEST_JOB, userId)
const existingJob = await getJob(jobId)
if (existingJob) {
logger.info(`Job already in queue: ${jobId}`)
@ -110,7 +110,7 @@ export function digestRouter() {
}
// get job by user id
const jobId = createJobId(userId, CREATE_DIGEST_JOB)
const jobId = createJobId(CREATE_DIGEST_JOB, userId)
const job = await getJob(jobId)
if (job) {
// if job is in queue then return job state

View File

@ -22,7 +22,9 @@ export const getDigest = async (userId: string): Promise<Digest | null> => {
export const setDigest = async (userId: string, digest: Digest) => {
const result = await redisDataSource.redisClient?.set(
digestKey(userId),
JSON.stringify(digest)
JSON.stringify(digest),
'EX',
60 * 60 * 24 // 1 day
)
if (result != 'OK') {