{"id":20109838,"url":"https://github.com/hyper63/hyper-adapter-queue","last_synced_at":"2025-03-02T18:24:51.049Z","repository":{"id":43409366,"uuid":"391933312","full_name":"hyper63/hyper-adapter-queue","owner":"hyper63","description":"in memory queue for local usage","archived":false,"fork":false,"pushed_at":"2023-11-29T00:26:23.000Z","size":159,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-13T05:41:38.681Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyper63.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-02T12:05:07.000Z","updated_at":"2023-12-14T16:33:14.000Z","dependencies_parsed_at":"2023-11-29T01:46:35.168Z","dependency_job_id":null,"html_url":"https://github.com/hyper63/hyper-adapter-queue","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":"hyper63/adapter-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyper63%2Fhyper-adapter-queue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyper63%2Fhyper-adapter-queue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyper63%2Fhyper-adapter-queue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyper63%2Fhyper-adapter-queue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyper63","download_url":"https://codeload.github.com/hyper63/hyper-adapter-queue/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241550075,"owners_count":19980644,"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":[],"created_at":"2024-11-13T18:09:36.568Z","updated_at":"2025-03-02T18:24:51.022Z","avatar_url":"https://github.com/hyper63.png","language":"JavaScript","readme":"\u003ch1 align=\"center\"\u003ehyper-adapter-queue\u003c/h1\u003e\n\u003cp align=\"center\"\u003eThe hyper queue service allows the hyper client to create queues,\nsetting up a webhook endpoint to be invoked everytime a job is posted to the queue.\nThis service can provide worker push queues to serverless applications, without having\nto manage state. This adapter uses an in-memory queue and is designed to work with\nlocal hyper services or services with small workloads.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://nest.land/package/hyper-adapter-queue\"\u003e\u003cimg src=\"https://nest.land/badge.svg\" alt=\"Nest Badge\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/hyper63/hyper-adapter-queue/actions/workflows/test-and-publish.yml\"\u003e\u003cimg src=\"https://github.com/hyper63/hyper-adapter-queue/actions/workflows/test-and-publish.yml/badge.svg\" alt=\"Test\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/hyper63/hyper-adapter-queue/tags/\"\u003e\u003cimg src=\"https://img.shields.io/github/tag/hyper63/hyper-adapter-queue\" alt=\"Current Version\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003c!-- toc --\u003e\n\n- [Getting Started](#getting-started)\n- [Example](#example)\n- [Testing](#testing)\n- [Contributing](#contributing)\n- [License](#license)\n\n\u003c!-- tocstop --\u003e\n\n## Getting Started\n\nIn order to get started using `hyper-adapter-queue`, you need to setup a hyper instance:\n\n```js\nimport { default as app } from 'https://raw.githubusercontent.com/hyper63/hyper/hyper-app-express%40v1.2.0/packages/app-express/mod.ts'\nimport { default as hyper } from 'https://raw.githubusercontent.com/hyper63/hyper/hyper%40v4.2.0/packages/core/mod.ts'\n\nimport { default as queue } from 'https://raw.githubusercontent.com/hyper63/hyper-adapter-queue/v0.3.0/mod.js'\n\nconst hyperConfig = {\n  app,\n  adapters: [\n    { port: 'queue', plugins: [queue({ dir: '.', name: 'hyper-queue.db' })] },\n  ],\n}\n\nhyper(hyperConfig)\n```\n\n\u003e if no options are passed to the adapter, then a sqlite db `hyper-queue.db` will be placed into the\n\u003e cwd\n\n## Example\n\n// create a queue\n\n```js\nconst hyper = 'https://\u003chyper-host\u003e/queue/\u003cqueue-name\u003e'\nfetch(hyper, {\n  method: 'PUT',\n  body: JSON.stringify({\n    target: 'https://jsonplaceholder.typicode.com/posts',\n    secret: 'shhhh',\n  }),\n}) // { ok: true }\n```\n\n// post a job to the queue\n\n```js\nconst hyper = 'https://\u003chyper-host\u003e/queue/\u003cqueue-name\u003e'\nfetch(hyper, {\n  method: 'POST',\n  body: JSON.stringify({\n    hello: 'world',\n  }),\n}) // { ok: true, id: 123 }\n```\n\n// fetch queued jobs\n\n```js\nconst hyper = 'https://\u003chyper-host\u003e/queue/\u003cqueue-name\u003e' + new URLSearchParams({ status: 'READY' })\nfetch(hyper) // { ok: true, jobs: [] }\n```\n\n// fetch errored jobs (DLQ)\n\n```js\nconst hyper = 'https://\u003chyper-host\u003e/queue/\u003cqueue-name\u003e' + new URLSearchParams({ status: 'ERROR' })\nfetch(hyper) // { ok: true, jobs: [] }\n```\n\n## Testing\n\nRun Tests\n\n```sh\ndeno task test\n```\n\nRun Test Harness\n\n```sh\ndeno task test:harness\n```\n\n## Contributing\n\nContributions are welcome!\n\n## License\n\nApache 2.0\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyper63%2Fhyper-adapter-queue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyper63%2Fhyper-adapter-queue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyper63%2Fhyper-adapter-queue/lists"}