{"id":45708,"library":"oraq","title":"Oraq","description":"Oraq (Ordered redis asynchronous queue) is a cross-process, cross-server, fast, reliable and lightweight redis-based async queue for Node.js (current stable version 0.2.4). It supports both queue (FIFO order) and limiter (rate limiting) modes, with features like concurrency control, job timeout, ping keep-alive, and LIFO support. Key differentiators: lightweight with minimal dependencies (only ioredis), simple API using a single Oraq class, and compatibility with Node.js >=7.6.0. Not actively maintained; last release in 2019.","status":"maintenance","version":"0.2.4","language":"javascript","source_language":"en","source_url":"https://github.com/deugene/oraq","tags":["javascript","concurrency","queue","limiter","pool","redis","job","task"],"install":[{"cmd":"npm install oraq","lang":"bash","label":"npm"},{"cmd":"yarn add oraq","lang":"bash","label":"yarn"},{"cmd":"pnpm add oraq","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required for Redis connection and queue operations.","package":"ioredis","optional":false}],"imports":[{"note":"CommonJS usage; no default ESM export available.","symbol":"Oraq","correct":"const Oraq = require('oraq')"},{"note":"Package does not have a default ESM export; use require or TypeScript import = require().","wrong":"import Oraq from 'oraq'","symbol":"Oraq (default import)","correct":"import Oraq = require('oraq')"}],"quickstart":{"code":"const Oraq = require('oraq');\nconst oraq = new Oraq({\n  id: 'myQueue',\n  concurrency: 1,\n  connection: { host: 'localhost', port: 6379 } // adjust for your Redis\n});\n\nconst job = ms => new Promise(resolve => setTimeout(() => resolve(ms), ms));\n\nPromise.all([\n  14000,\n  8000,\n  10000,\n  7000\n].map(delay => oraq.limit(job, { jobData: delay })))\n  .then(jobResults => console.log(jobResults));","lang":"javascript","description":"Creates an Oraq queue with concurrency 1 and processes multiple time-delayed jobs, demonstrating basic job limiting."},"warnings":[{"fix":"Set mode explicitly: new Oraq({ mode: 'queue' }) for FIFO order.","message":"When mode is 'queue', job order is preserved. When mode is 'limiter', order is not guaranteed but rate limiting is applied.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Adjust timeout and ping options to match job duration.","message":"Job timeout resets on each ping; if a job takes longer than timeout, it will be considered failed and removed.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Consider migrating to actively maintained alternatives like Bull or BullMQ.","message":"No breaking changes known, but package is in maintenance mode with no updates since 2019.","severity":"deprecated","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'0.2.4':29 '2019':81 '7.6.0':74 'activ':76 'aliv':51 'api':64 'async':22 'asynchron':5 'base':21 'class':69 'compat':71 'concurr':44,83 'control':45 'cross':10,13 'cross-process':9 'cross-serv':12 'current':26 'depend':60 'differenti':56 'fast':15 'featur':42 'fifo':34 'ioredi':62 'javascript':82 'job':46,88 'keep':50 'keep-al':49 'key':55 'last':78 'lifo':53 'lightweight':18,57 'like':43 'limit':37,39,85 'maintain':77 'minim':59 'mode':40 'node.js':25,73 'oraq':1,2,68 'order':3,35 'ping':48 'pool':86 'process':11 'queue':6,23,33,84 'rate':38 'redi':4,20,87 'redis-bas':19 'releas':79 'reliabl':16 'server':14 'simpl':63 'singl':67 'stabl':27 'support':31,54 'task':89 'timeout':47 'use':65 'version':28","created_at":"2026-06-07T12:56:20.029596+00:00","updated_at":"2026-06-07T12:56:20.029596+00:00","problems":[{"fix":"Use const Oraq = require('oraq'); or import Oraq = require('oraq') with TypeScript.","cause":"Using import Oraq from 'oraq' instead of require('oraq')","error":"Oraq is not defined"},{"fix":"Increase timeout in constructor options or ensure job completes within the timeout period.","cause":"Job execution exceeded the timeout option (default 2 hours).","error":"Error: The job \"...\" timed out."}],"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/deugene/oraq#readme","github":"https://github.com/deugene/oraq","docs":null,"changelog":null,"pypi":null,"npm":"oraq","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"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}}