{"id":44824,"library":"elastic-queue","title":"elastic-queue","description":"A batching queue for Elasticsearch Node.js client, version 0.3.0 (stable, last release 2015). It batches documents into bulk requests, supporting configurable concurrency, batch size, commit timeout, and rate limiting. Provides event listeners for drain, task, and batchComplete. Lightweight but unmaintained, not compatible with modern Elasticsearch client (v7+).","status":"deprecated","version":"0.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/soxbox/elastic-queue","tags":["javascript","elasticsearch","nodejs","queue","batch","ratelimit","concurrency"],"install":[{"cmd":"npm install elastic-queue","lang":"bash","label":"npm"},{"cmd":"yarn add elastic-queue","lang":"bash","label":"yarn"},{"cmd":"pnpm add elastic-queue","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"CJS only; no ESM or named exports.","wrong":"import ElasticQueue from 'elastic-queue'","symbol":"ElasticQueue","correct":"const ElasticQueue = require('elastic-queue')"},{"note":"Must use 'new' keyword.","wrong":"const queue = ElasticQueue(...)","symbol":"Queue instance","correct":"const queue = new ElasticQueue(...)"},{"note":"Options must be nested under 'elasticsearch.client'. Note typo 'concurency' (double c).","wrong":"{ host: 'localhost:9200' }","symbol":"options","correct":"{ elasticsearch: { client: { host: 'localhost:9200' } }, concurency: 1, batchSize: 500 }"}],"quickstart":{"code":"const ElasticQueue = require('elastic-queue');\nconst queue = new ElasticQueue({\n  elasticsearch: {\n    client: {\n      host: process.env.ELASTICSEARCH_HOST ?? 'localhost:9200'\n    }\n  },\n  batchSize: 100,\n  commitTimeout: 1000\n});\n\nqueue.on('drain', () => {\n  console.log('Queue drained');\n  queue.close();\n});\n\nqueue.push({\n  index: 'products',\n  type: '_doc',\n  id: 1,\n  body: { title: 'Test' }\n});","lang":"javascript","description":"Creates an ElasticQueue with configurable host, pushes a single document, and listens for drain."},"warnings":[{"fix":"Use @elastic/elasticsearch's built-in bulk helper or migrate to elasticsearch-bulk or bulk-writer.","message":"Package is unmaintained since 2015 and incompatible with Elasticsearch client v7+.","severity":"deprecated","affected_versions":">=0.3.0"},{"fix":"Use 'concurency' (misspelled) in options.","message":"Typo in option name: 'concurency' instead of 'concurrency'. Setting 'concurrency' will have no effect.","severity":"breaking","affected_versions":">=0.1.0 <=0.3.0"},{"fix":"Use require() or use dynamic import() with .mjs or transpile.","message":"No ESM support; cannot import with 'import' in Node.js without transpilation.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Set type to '_doc' for ES7+ compatibility, but better to migrate to newer library.","message":"The 'type' parameter in documents is required but deprecated in Elasticsearch 7+; should be '_doc' or omitted.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"search_vec":"'0.3.0':12 '2015':16 'batch':5,18,26,55 'batchcomplet':40 'bulk':21 'client':10,49 'commit':28 'compat':45 'concurr':25,57 'configur':24 'document':19 'drain':37 'elast':2 'elastic-queu':1 'elasticsearch':8,48,52 'event':34 'javascript':51 'last':14 'lightweight':41 'limit':32 'listen':35 'modern':47 'node.js':9 'nodej':53 'provid':33 'queue':3,6,54 'rate':31 'ratelimit':56 'releas':15 'request':22 'size':27 'stabl':13 'support':23 'task':38 'timeout':29 'unmaintain':43 'v7':50 'version':11","created_at":"2026-06-07T12:52:01.547183+00:00","updated_at":"2026-06-07T12:52:01.547183+00:00","problems":[{"fix":"Use 'new ElasticQueue(options)'.","cause":"Missing 'new' keyword when instantiating.","error":"ElasticQueue is not a constructor"},{"fix":"Run 'npm install elastic-queue' and check package.json.","cause":"Package not installed or misspelled.","error":"Cannot find module 'elastic-queue'"},{"fix":"Ensure const queue = new ElasticQueue(options).","cause":"Queue not initialized correctly (maybe no 'new' or wrong import).","error":"TypeError: queue.push is not a function"}],"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/soxbox/elastic-queue","github":"https://github.com/soxbox/elastic-queue","docs":null,"changelog":null,"pypi":null,"npm":"elastic-queue","openapi_spec":null,"status_page":null,"smithery":null,"categories":["storage"],"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}}