{"id":16160874,"url":"https://github.com/vaibhavyadav-dev/user-task-queuing-with-rate-limiting","last_synced_at":"2026-02-08T00:03:39.762Z","repository":{"id":257816855,"uuid":"865438284","full_name":"vaibhavyadav-dev/User-Task-Queuing-with-Rate-Limiting","owner":"vaibhavyadav-dev","description":"A Node.js Server demonstrating User Task Queuing with Rate Limiting.","archived":false,"fork":false,"pushed_at":"2024-10-02T07:28:29.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-07T00:14:12.043Z","etag":null,"topics":["cicd","clustering","containers","docker","express","jenkins","nodejs","rate-limiting"],"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/vaibhavyadav-dev.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":"2024-09-30T14:29:36.000Z","updated_at":"2024-10-02T07:29:30.000Z","dependencies_parsed_at":"2024-10-09T17:43:22.439Z","dependency_job_id":"5a81d5bd-82c4-4c64-95bd-1731b671a397","html_url":"https://github.com/vaibhavyadav-dev/User-Task-Queuing-with-Rate-Limiting","commit_stats":null,"previous_names":["vaibhavyadav-dev/user-task-queuing-with-rate-limiting"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vaibhavyadav-dev/User-Task-Queuing-with-Rate-Limiting","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaibhavyadav-dev%2FUser-Task-Queuing-with-Rate-Limiting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaibhavyadav-dev%2FUser-Task-Queuing-with-Rate-Limiting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaibhavyadav-dev%2FUser-Task-Queuing-with-Rate-Limiting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaibhavyadav-dev%2FUser-Task-Queuing-with-Rate-Limiting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaibhavyadav-dev","download_url":"https://codeload.github.com/vaibhavyadav-dev/User-Task-Queuing-with-Rate-Limiting/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaibhavyadav-dev%2FUser-Task-Queuing-with-Rate-Limiting/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267585826,"owners_count":24111577,"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","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cicd","clustering","containers","docker","express","jenkins","nodejs","rate-limiting"],"created_at":"2024-10-10T02:06:04.001Z","updated_at":"2026-02-08T00:03:39.690Z","avatar_url":"https://github.com/vaibhavyadav-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# User-Task-Queuing-with-Rate-Limiting\n- A Node.js API cluster with 2 replica sets and a route to handle a simple task. The task has a rate limit of 1 task per second and 20 task per min for each user ID. \n- Users will hit the route to process tasks multiple times, a queueing system to ensure that tasks are processed \naccording to the rate limit for each user ID.\n\n\n\u003e [!NOTE] \n\u003e - Jenkins CI/CD Testing Passed ✅.\n\u003e - For the sake of complexity I've not implemented shared memory or databases like redis or sql, to make it  to   production level we have to add shared databases or memory for centralized access.\n\u003e - Note that two replica does not know anything about another one, so if request is processed by one replica its request can go to another replica and IT IS violation of rate limiting.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaibhavyadav-dev%2Fuser-task-queuing-with-rate-limiting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaibhavyadav-dev%2Fuser-task-queuing-with-rate-limiting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaibhavyadav-dev%2Fuser-task-queuing-with-rate-limiting/lists"}