{"id":44291,"library":"appolo-queue","title":"Appolo Queue","description":"A distributed job queue built with Redis and TypeScript, currently at version 8.0.3. It supports delayed jobs, scheduled jobs with cron or human-readable syntax, parallel multi-server execution, promise-based API, retries on failure, and job locking. Compared to similar queues like Bull or Bee, Appolo Queue offers a simpler API with built-in delay and schedule methods using natural language dates. Development appears paused with no recent releases, but the package remains functional for basic use cases.","status":"maintenance","version":"8.0.3","language":"javascript","source_language":"en","source_url":"https://github.com/shmoop207/appolo-queue","tags":["javascript","redis","queue","job","jobs","cron","scheduler","appolo"],"install":[{"cmd":"npm install appolo-queue","lang":"bash","label":"npm"},{"cmd":"yarn add appolo-queue","lang":"bash","label":"yarn"},{"cmd":"pnpm add appolo-queue","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required for queue storage and job management","package":"redis","optional":false}],"imports":[{"note":"ESM-only since v8","wrong":"const Queue = require('appolo-queue').Queue","symbol":"Queue","correct":"import { Queue } from 'appolo-queue'"},{"note":"CommonJS require does not work with ESM default exports; use named import instead","wrong":"const AppoloQueue = require('appolo-queue')","symbol":"default export","correct":"import AppoloQueue from 'appolo-queue'"},{"note":"Type import only available with TypeScript","wrong":"","symbol":"Job type","correct":"import type { Job } from 'appolo-queue'"},{"note":"For type definitions only","wrong":"","symbol":"QueueOptions type","correct":"import type { QueueOptions } from 'appolo-queue'"}],"quickstart":{"code":"import { Queue } from 'appolo-queue';\n\nconst queue = new Queue({\n  redis: 'redis://localhost:6379',\n  queueName: 'my-queue',\n  checkInterval: 1000,\n  maxConcurrency: 1,\n  lockTime: 60000\n});\n\nawait queue.initialize();\n\nqueue.handle('sendEmail', async (job) => {\n  console.log(`Sending email to ${job.params.email}`);\n  // simulate email sending\n  return { sent: true };\n});\n\nawait queue.create('sendEmail', { email: 'user@example.com' }).exec();\n\nconsole.log('Job created and will be processed shortly.');\n\nprocess.on('SIGINT', () => queue.stop());","lang":"typescript","description":"Shows initialization, handler registration, job creation, and graceful shutdown with appolo-queue."},"warnings":[{"fix":"Run `npm install appolo-queue` instead.","message":"Installation instruction in README says `npm install appolo --save` but the package name is `appolo-queue`. Installing `appolo` installs a different package.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use ESM imports: `import { Queue } from 'appolo-queue'`.","message":"Version 8.0.x changed to ESM-only; CommonJS require() no longer works.","severity":"breaking","affected_versions":">=8.0.0"},{"fix":"Pass a string like `'redis://localhost:6379'`.","message":"The `redis` option must be a connection string; if using an object, it may cause runtime errors.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use `schedule` instead.","message":"Method `scedule` is a typo; will be removed in future versions.","severity":"deprecated","affected_versions":">=5.0.0"},{"fix":"Ensure job IDs are unique or handle overwrites explicitly.","message":"Job IDs must be unique; duplicate IDs overwrite existing jobs without warning.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'8.0.3':15 'api':37,57 'appear':71 'appolo':1,52,93 'base':36 'basic':83 'bee':51 'built':7,60 'built-in':59 'bull':49 'case':85 'compar':44 'cron':23,91 'current':12 'date':69 'delay':18,62 'develop':70 'distribut':4 'execut':33 'failur':40 'function':81 'human':26 'human-read':25 'javascript':86 'job':5,19,21,42,89,90 'languag':68 'like':48 'lock':43 'method':65 'multi':31 'multi-serv':30 'natur':67 'offer':54 'packag':79 'parallel':29 'paus':72 'promis':35 'promise-bas':34 'queue':2,6,47,53,88 'readabl':27 'recent':75 'redi':9,87 'releas':76 'remain':80 'retri':38 'schedul':20,64,92 'server':32 'similar':46 'simpler':56 'support':17 'syntax':28 'typescript':11 'use':66,84 'version':14","created_at":"2026-06-07T12:49:24.830478+00:00","updated_at":"2026-06-07T12:49:24.830478+00:00","problems":[{"fix":"Run `npm install appolo-queue` instead of `npm install appolo`.","cause":"Installing the wrong package per README instruction","error":"Error: Cannot find module 'appolo'"},{"fix":"Change to `import { Queue } from 'appolo-queue'` or use dynamic import.","cause":"Using CommonJS require with ESM-only package","error":"TypeError: Queue is not a constructor"},{"fix":"Use valid Redis connection string like `redis://localhost:6379`.","cause":"Using an incorrect redis connection string (e.g., missing protocol)","error":"ReplyError: MOVED ..."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/shmoop207/appolo-queue#readme","github":"https://github.com/shmoop207/appolo-queue","docs":null,"changelog":null,"pypi":null,"npm":"appolo-queue","openapi_spec":null,"status_page":null,"smithery":null,"categories":["messaging"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}