{"id":15946144,"url":"https://github.com/eces/test-queue","last_synced_at":"2025-04-03T22:26:09.677Z","repository":{"id":69836823,"uuid":"105418708","full_name":"eces/test-queue","owner":"eces","description":"Investigating Automattic/kue, OptimalBits/bull and grpc.io for new job-queue spec.","archived":false,"fork":false,"pushed_at":"2017-10-09T16:14:20.000Z","size":28,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-09T10:27:59.351Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/eces.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":"2017-10-01T04:15:03.000Z","updated_at":"2017-10-01T15:15:32.000Z","dependencies_parsed_at":"2023-03-10T11:00:44.232Z","dependency_job_id":null,"html_url":"https://github.com/eces/test-queue","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eces%2Ftest-queue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eces%2Ftest-queue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eces%2Ftest-queue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eces%2Ftest-queue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eces","download_url":"https://codeload.github.com/eces/test-queue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247087777,"owners_count":20881457,"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-10-07T09:20:27.666Z","updated_at":"2025-04-03T22:26:09.659Z","avatar_url":"https://github.com/eces.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Job Queue test\n큐 호스팅 만들기 전에 이것저것 테스트합니다.\n\n#### 시작하기\n`npm start`\n\n#### 문서 빌드\n`grunt nodocs`\n\n----------------------------\n\n### kue.js 테스트\n- global events(enqueue)가 잘되어있어서 커스텀 하기 좋음\n- .delay() 이런식 API도 좋음\n- locked job이 상태가 변한다거나 이슈가 있는듯?\n- schedule 기능이 없고, unique id 지원안해서그냥 쓰기엔 부족함.\n- 기본기능은 의외로 잘만들어짐.\n\n### OptimalBits/bull 테스트\n- global events(enqueue)가 거의없어서 커스텀 어려움\n- 세세한 옵션이 있어서 개발할땐 쓰기 좋을듯\n- lock 부분 잘됨\n- schedule 기능이 있고, unique id 지원도 하지만\n- scheduled job에 대해 id 검색이 안되는등 무언가 빠져있음\n- processor 설정하면 아예 child_process fork로 가능 !!!\n- SQS VisibilityTimeout은 backoff delay로 일단 해결?\n\n### bull + grpc.io 테스트\n- 상세한 client API는 고민 더 필요함. Proof of Concept으로 한다.\n- 당연히 pub/sub은 잘됨\n- 클라이언트 코드가 간결함\n- Visibility 처리가 문제임 ...\n  \u003e MessageReceipt ID로 EventEmitter callback하여서\n  \u003e 해당 job process done(null, 정상처리) 끝내는게 좋을듯.\n  \u003e 단 VisibilityTimeout만큼 timeout이 필요함 + 해당 ReceiptID invalidate.\n\n### grpcq.io 테스트\n- grpc queue라는 느낌을 살리자. 괜히 새롭게 할 필요없음.\n\n#### 사용하기\n```js\nconst grpcq = require('grpcq')\ngrpcq\n .subscribe({})\n .on('message', handler)\n .on('error', error)\n```\n\n#### 개발하기\n\n`DEBUG=grpcq* nodemon index.js`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feces%2Ftest-queue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feces%2Ftest-queue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feces%2Ftest-queue/lists"}