{"id":29178266,"url":"https://github.com/knfs-library/bbq","last_synced_at":"2025-07-01T18:33:00.953Z","repository":{"id":274268718,"uuid":"922421263","full_name":"knfs-library/bbq","owner":"knfs-library","description":"A lightweight and efficient job queuing system designed to integrate directly on local files of Node.js applications. With built-in support for job management, workers, and message handling, BBQ helps you streamline asynchronous task execution and improve the performance of your applications.","archived":false,"fork":false,"pushed_at":"2025-02-15T09:09:51.000Z","size":111,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-29T02:51:29.105Z","etag":null,"topics":["file","filesystem","jobs","localstorage","nodejs","queue","queue-workers"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/knfs-library.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-26T06:37:16.000Z","updated_at":"2025-02-15T09:09:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"a85b5512-ead4-4658-a295-a78d97fd2581","html_url":"https://github.com/knfs-library/bbq","commit_stats":null,"previous_names":["knfs-library/bbq"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/knfs-library/bbq","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knfs-library%2Fbbq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knfs-library%2Fbbq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knfs-library%2Fbbq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knfs-library%2Fbbq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knfs-library","download_url":"https://codeload.github.com/knfs-library/bbq/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knfs-library%2Fbbq/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263017140,"owners_count":23400433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["file","filesystem","jobs","localstorage","nodejs","queue","queue-workers"],"created_at":"2025-07-01T18:31:12.127Z","updated_at":"2025-07-01T18:33:00.927Z","avatar_url":"https://github.com/knfs-library.png","language":"JavaScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"250\" src=\"https://github.com/knfs-library/bbq/blob/master/docs/images/logo.png?raw=true\"\u003e\n  \u003cbr\u003e\n\t\u003ca href=\"https://github.com/knfs-library/bbq/actions/workflows/unit-test.yml\" alt=\"github\"\u003e\n\t\u003cimg src=\"https://github.com/knfs-library/bbq/actions/workflows/unit-test.yml/badge.svg\" alt=\"Github Actions\" /\u003e\n\t\u003c/a\u003e\n  \u003ca href=\"https://img.shields.io/github/license/knfs-library/bbq\" alt=\"License\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/license/knfs-library/bbq\" alt=\"License\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://img.shields.io/github/contributos/knfs-library/bbq\" alt=\"License\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/contributors/knfs-library/bbq\" alt=\"License\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://img.shields.io/github/languages/code-size/knfs-library/bbq\" alt=\"License\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/languages/code-size/knfs-library/bbq\" alt=\"License\" /\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n# About **Baby Queue**\n\n## BBQ - A Simple Job Queue System\n\n**BBQ** is a lightweight and efficient job queuing system designed to integrate directly on local files of Node.js applications. With built-in support for job management, workers, and message handling, BBQ helps you streamline asynchronous task execution and improve the performance of your applications.\n\n## Key Features\n\n- **Job Queue Management**: Easily create and manage multiple job queues to handle asynchronous tasks efficiently.\n- **Worker Support**: Utilize worker threads to process jobs concurrently, ensuring your application remains responsive and capable of handling high workloads.\n- **Retry Mechanism**: Automatically retry failed jobs based on configurable settings, ensuring reliability in job processing.\n- **Timeout Handling**: Set maximum execution times for jobs, allowing you to manage long-running tasks effectively.\n- **Flexible Configuration**: Customize the behavior of your job queues with options for concurrency, logging, and job expiration.\n- **Event-Driven Architecture**: Listen for events and process messages seamlessly, making it easy to integrate with other parts of your application.\n\n## Why Choose BBQ?\n\nWhether you're building a small application or a large-scale system, BBQ provides the tools you need to implement effective job processing strategies. Its simple API and robust features make it an ideal choice for developers looking to enhance their application's performance and reliability.\n\n\n## Installation\n\nInstall BAMIMI Cache via **npm** or **yarn**:\n\n```bash\nnpm i @knfs-tech/bbq\n# OR\nyarn add @knfs-tech/bbq\n```\n\n---\n\n## Basic Usage\n\n### Example\n\n```javascript\nconst Dispatcher = require('bbq-cache');\n\nconst dispatcher = new Dispatcher({\n    log: true,\n});\n\nasync function handleJob(job) {\n  console.log(job.message)\n}\n\nasync function demo() {\n  await dispatch.setup();\n\n  const queue = await dispatcher.createQueue('queue-1');\n\n  const worker = dispatch.createWorker(\"worker-1\")\n  worker.addJob(\"job-1\", \"queue-1\", handleJob)\n\n  await queue.addMessage('Hello, World!');\n  await queue.addMessage({\n    msg: 'Hello, World'\n    nation: 'Vietnam'\n  });\n  await queue.addMessage(84);\n}\n\ndemo();\n```\n\n---\n## More\n* [Dispatcher](https://github.com/knfs-library/bbq/blob/master/docs/DISPATCHER.md)\n* [Queue](https://github.com/knfs-library/bbq/blob/master/docs/QUEUE.md)\n* [Worker](https://github.com/knfs-library/bbq/blob/master/docs/WORKER.md)\n* [Job](https://github.com/knfs-library/bbq/blob/master/docs/JOB.md)\n* [Tips](https://github.com/knfs-library/bbq/blob/master/docs/TIP.md)\n---\n\n## Author\n* [Kent Phung](https://github.com/khapu2906)\n  \n## Owner\n* [Knfs.,jsc](https://github.com/knfs-library)\n\n---\n## Contributions\n\nWe welcome contributions! Please create a pull request or submit issues on GitHub.\n\n---\n\n## License\n\n**BBQ** is open-source software licensed under the [MIT License](LICENSE).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknfs-library%2Fbbq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknfs-library%2Fbbq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknfs-library%2Fbbq/lists"}