{"id":45654,"library":"oly-queue","title":"Oly Queue","description":"A task queue library for TypeScript applications, built on top of Bull and integrated with the Oly dependency injection framework. Current version is 1.0.0. It provides decorators for defining tasks, a worker provider for processing tasks, and a publisher for pushing tasks and waiting for results. Differentiators include tight coupling with Oly for declarative job definitions and result waiting.","status":"active","version":"1.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/nolyme/oly","tags":["javascript","oly","typescript","bull"],"install":[{"cmd":"npm install oly-queue","lang":"bash","label":"npm"},{"cmd":"yarn add oly-queue","lang":"bash","label":"yarn"},{"cmd":"pnpm add oly-queue","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core dependency for dependency injection and kernel management","package":"oly","optional":false}],"imports":[{"note":"Named export, not default export","wrong":"import task from 'oly-queue'","symbol":"task","correct":"import { task } from 'oly-queue'"},{"note":"Named export for creating worker instances","symbol":"WorkerProvider","correct":"import { WorkerProvider } from 'oly-queue'"},{"note":"Named export for pushing jobs and waiting for results.","symbol":"Publisher","correct":"import { Publisher } from 'oly-queue'"}],"quickstart":{"code":"import { task, WorkerProvider, Publisher } from 'oly-queue';\nimport { Kernel } from 'oly';\n\nclass App {\n  @task add({ x, y }: { x: number; y: number }) {\n    return x + y;\n  }\n}\n\nconst kernel = Kernel.create().with(App, WorkerProvider);\nconst publisher = kernel.get(Publisher);\n\nawait kernel.start();\nconst job = await publisher.push('App.add', { x: 1, y: 2 });\nconst result = await publisher.wait(job);\nconsole.log(result); // 3\nawait kernel.stop();","lang":"typescript","description":"Defines a simple task class using @task decorator, creates a kernel with WorkerProvider, gets a Publisher, pushes a job, and waits for the result."},"warnings":[{"fix":"Ensure 'oly@^0.15.1' is installed in your project.","message":"Requires peer dependency 'oly' version ^0.15.1","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Always define tasks as instance methods on a class that is registered with the kernel.","message":"The @task decorator cannot be used on static methods or functions outside a class instance managed by Oly kernel.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Monitor changelog for updates on provider/dependency injection changes.","message":"The 'WorkerProvider' and 'Publisher' are required to be provided explicitly; they may be replaced or merged in future versions.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1.0.0':26 'applic':9 'built':10 'bull':14,65 'coupl':52 'current':23 'declar':56 'decor':29 'defin':31 'definit':58 'depend':20 'differenti':49 'framework':22 'includ':50 'inject':21 'integr':16 'javascript':62 'job':57 'librari':6 'oli':1,19,54,63 'process':37 'provid':28,35 'publish':41 'push':43 'queue':2,5 'result':48,60 'task':4,32,38,44 'tight':51 'top':12 'typescript':8,64 'version':24 'wait':46,61 'worker':34","created_at":"2026-06-07T12:56:04.775187+00:00","updated_at":"2026-06-07T12:56:04.775187+00:00","problems":[{"fix":"npm install oly-queue","cause":"Package not installed or not in node_modules","error":"Error: Cannot find module 'oly-queue'"},{"fix":"Ensure you call kernel.get(Publisher) after kernel.create()","cause":"Publisher not retrieved from kernel before calling push","error":"TypeError: Cannot read properties of undefined (reading 'push')"}],"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/nolyme/oly","github":"https://github.com/nolyme/oly","docs":null,"changelog":null,"pypi":null,"npm":"oly-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}}