zing
zing
DDeno
Created by zing on 11/17/2024 in #help
Sequential queue processing with Deno KV listenQueue?
I'm working on an API endpoint that needs to process lots of calls every second. I want to make this call asynchronous so that the API returns fast and I can offload the data to be processed in the background, so I thought of using Deno.kv queues(https://docs.deno.com/deploy/kv/manual/queue_overview/). The only issue is that there is a lot of async code inside the processing jobs, and when I queue up a lot of them they seem to overlap in processing, which causes issues when accessing shared resources(db connections specifically). Is there a way to make kv.listenQueue process each entry in sequence? This is effectively my queue code:
const kv = await Deno.openKv();

kv.listenQueue(async (msg: EvaluateRequest) => { await service.evaluate(msg) })
const kv = await Deno.openKv();

kv.listenQueue(async (msg: EvaluateRequest) => { await service.evaluate(msg) })
3 replies
DDeno
Created by zing on 7/11/2023 in #help
Fresh pattern help
Could anyone possibly help guide me to understand the 'freshest' pattern for the following, please? When a user hits / I load a login page, and once he submits the form, the server generates some session data in the POST handler for /, and then redirects(send back a 303) to /chat. There is an island on /chat which needs to contain the session data. How would I redirect from the form POST handler, to the /chat page and make sure that my state is passed to the island? In react or similar I would handle the 'form submission' in javascript and cache the returned session data before redirecting to /chat. Since fresh seems to promote the use of native forms I'm trying to learn how I would handle this situation. I'm thinking of setting a cookie in the redirect, to then be sent with the /chat GET, which I can use to return the page with session data inside. Is that common? Thanks!
7 replies