expire digest in one day
This commit is contained in:
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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') {
|
||||
|
||||
Reference in New Issue
Block a user