import { Queue, Worker } from "bullmq";
const sendMessage = publicProcedure
.mutation(async ({ ctx }) => {
const myQueue = new Queue(`match-message`, { connection:ctx.redis });
await myQueue.add('test', 'test message');
return true;
});
const onMessage = publicProcedure.subscription(async function* ({
signal,
input,
ctx,
}) {
const worker=new Worker(`match-message`, async (job) => {
return job.returnvalue as Message
},{
connection:ctx.redis
})
worker.on('completed', (job) => {
// yield message
})
if(signal?.aborted){
worker.close()
}
});
import { Queue, Worker } from "bullmq";
const sendMessage = publicProcedure
.mutation(async ({ ctx }) => {
const myQueue = new Queue(`match-message`, { connection:ctx.redis });
await myQueue.add('test', 'test message');
return true;
});
const onMessage = publicProcedure.subscription(async function* ({
signal,
input,
ctx,
}) {
const worker=new Worker(`match-message`, async (job) => {
return job.returnvalue as Message
},{
connection:ctx.redis
})
worker.on('completed', (job) => {
// yield message
})
if(signal?.aborted){
worker.close()
}
});