export const POST: RequestHandler = async ({ request }) => {
const program = Effect.gen(function*($) {
// Check Secret
yield* $(verifySignature(request))
const order = yield* $(getOrder(request))
// Here it should return the response but trigger the job effect
const { jobId } = order.meta.custom_data
runTheJob(jobId) // --> THIS IS THE FIRE AND FORGET EFFECT
return true // --> Immediate response
})
const res = await Effect.runPromiseExit(program)
return Exit.match(res, {
onFailure(error) {
return new Response(JSON.stringify({ error: error._tag }), { status: 500 })
},
onSuccess(success) {
return new Response(JSON.stringify({ success: true }), { status: 200 })
}
})
}
declare function runTheJob(jobId: number): Effect<never, StorageError | DbError | ParseError | UnknownError, Job>
export const POST: RequestHandler = async ({ request }) => {
const program = Effect.gen(function*($) {
// Check Secret
yield* $(verifySignature(request))
const order = yield* $(getOrder(request))
// Here it should return the response but trigger the job effect
const { jobId } = order.meta.custom_data
runTheJob(jobId) // --> THIS IS THE FIRE AND FORGET EFFECT
return true // --> Immediate response
})
const res = await Effect.runPromiseExit(program)
return Exit.match(res, {
onFailure(error) {
return new Response(JSON.stringify({ error: error._tag }), { status: 500 })
},
onSuccess(success) {
return new Response(JSON.stringify({ success: true }), { status: 200 })
}
})
}
declare function runTheJob(jobId: number): Effect<never, StorageError | DbError | ParseError | UnknownError, Job>