
Security News
The Nightmare Before Deployment
Season’s greetings from Socket, and here’s to a calm end of year: clean dependencies, boring pipelines, no surprises.
@dracul/mongoose-queue
Advanced tools
Sistema de colas de javascript soportado sobre mongodb y mongoose.
#Classes
Permite agregar tareas a la cola
Inicializa una instancia de Producer
Argumentos:
- {string} topic: nombre del topico que identifica el tipo de tarea
Ejemplo:
const {Producer} = require('@dracul/mongoose-queue')
let producer = new Producer('test')
Agregar un trabajo a la cola
Argumentos:
- {Plain Object} payload: información para el procesamiento de la tarea
Retorna: {String} ObjectId del documento en MongoDB
Ejemplo:
const {Producer} = require('@dracul/mongoose-queue')
let producer = new Producer('test')
let jobId = await producer.add( {data: 'somedata'} )
Permite obtener tareas de la cola
Inicializa una instancia de Consumer
Argumentos:
Ejemplo:
const {Consumer} = require('@dracul/mongoose-queue')
let consumer = new Consumer('test')
Obtener un trabajo de la cola
Argumentos:
Retorna: {Object|null} Objecto con todos los datos del job o null si no hay tareas pendientes en la cola
Ejemplo:
const {Consumer} = require('@dracul/mongoose-queue')
let consumer = new Consumer('test')
let job = await consumer.get('worker')
Marca un trabajo como terminado
Argumentos:
Retorna: {Object} Objecto con todos los datos del job
Ejemplo:
const {Consumer} = require('@dracul/mongoose-queue')
let consumer = new Consumer('test')
let job = await consumer.get('worker')
//...Procesar trabajo...
job = await consumer.ack(job.id)
Marca un trabajo con error
Argumentos:
Retorna: {Object} Objecto con todos los datos del job
Ejemplo:
const {Consumer} = require('@dracul/mongoose-queue')
let consumer = new Consumer('test')
let job = await consumer.get('worker')
//...Procesar trabajo...
job = await consumer.error(job.id,"FatalError")
Permite crear trabajadores que consuman y procesen tareas de la cola
Inicializa una instancia de Worker
Argumentos:
Ejemplo:
const {Consumer,Worker} = require('@dracul/mongoose-queue')
let consumer = new Consumer('test')
const handler = (payload)=>{console.log(payload)}
let worker = new Worker(consumer,'worker1',handler)
Obtiene una tarea de la cola y la procesa con la funcion handler
Argumentos:
Sin argumentos
Ejemplo:
const {Consumer,Worker} = require('@dracul/mongoose-queue')
let consumer = new Consumer('test')
const handler = (payload)=>{console.log(payload)}
let worker = new Worker(consumer,'worker1',handler)
worker.work()
Ejecuta el worker como daemon. El worker ejecutara el metodo "work" continuamente con un intervalo de tiempo
Argumentos:
Ejemplo:
const {Consumer,Worker} = require('@dracul/mongoose-queue')
let consumer = new Consumer('test')
const handler = (payload)=>{console.log(payload)}
let worker = new Worker(consumer,'worker1',handler)
worker.run(10000)
Detiene el daemon del worker
Argumentos:
sin argumentos
Ejemplo:
const {Consumer,Worker} = require('@dracul/mongoose-queue')
let consumer = new Consumer('test')
const handler = (payload)=>{console.log(payload)}
let worker = new Worker(consumer,'worker1',handler)
worker.run(10000)
//...
worker.stop()
El worker permite suscribirse a un EventEmitter con los siguientes eventos
Eventos:
Ejemplo:
const {Consumer,Worker} = require('@dracul/mongoose-queue')
let consumer = new Consumer('test')
const handler = (payload)=>{console.log(payload)}
let worker = new Worker(consumer,'worker1',handler)
worker.on('workStart',()=>{
console.log("El worker inicia un trabajo")
})
worker.on('workGet',(job)=>{
console.log("El worker toma un trabajo", job)
})
worker.on('workAck',(job)=>{
console.log("El worker da un trabajo por terminado", job)
})
worker.on('workError',(job, error)=>{
console.log("El worker registra un error en un trabajo", job, error)
})
worker.run(10000)
Se aconseja utilizar scaffold dónde tenés todos los módulos ya integrados y link de scafold
FAQs
Sistema de colas de javascript soportado sobre mongodb y mongoose.
The npm package @dracul/mongoose-queue receives a total of 25 weekly downloads. As such, @dracul/mongoose-queue popularity was classified as not popular.
We found that @dracul/mongoose-queue demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Season’s greetings from Socket, and here’s to a calm end of year: clean dependencies, boring pipelines, no surprises.

Research
/Security News
Impostor NuGet package Tracer.Fody.NLog typosquats Tracer.Fody and its author, using homoglyph tricks, and exfiltrates Stratis wallet JSON/passwords to a Russian IP address.

Security News
Deno 2.6 introduces deno audit with a new --socket flag that plugs directly into Socket to bring supply chain security checks into the Deno CLI.