| react-profiling | 0 |
| react-import-map | react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf |
| route-pattern | /:user_id/:repository |
| route-controller | files |
| route-action | disambiguate |
| fetch-nonce | v2:c8cd50f1-a8cb-797f-2d23-93e878909f53 |
| current-catalog-service-hash | f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb |
| request-id | 9A2E:169E62:1D25E8A:26379EB:6AED9892 |
| html-safe-nonce | bcd9d0ccb0b42bfc940b53a8138ef3120a87191505b92ed3f14b8505accdeaa4 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5QTJFOjE2OUU2MjoxRDI1RThBOjI2Mzc5RUI6NkFFRDk4OTIiLCJ2aXNpdG9yX2lkIjoiODUxNDA0OTcwNzE1MzkyMjE5NCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | a39f4566f89106490611447cc8ad1610e379f296b7159ef93636183d8c6e2567 |
| hovercard-subject-tag | repository:117260693 |
| github-keyboard-shortcuts | repository,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | // |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/swarthy/redis-semaphore |
| twitter:image | https://opengraph.githubassets.com/bc16ff5dd8469480d84dbfa308d7dc89a43529e6ba5e5630ef26d5d1b0963970/swarthy/redis-semaphore |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/bc16ff5dd8469480d84dbfa308d7dc89a43529e6ba5e5630ef26d5d1b0963970/swarthy/redis-semaphore |
| og:image:alt | Distributed mutex and semaphore based on Redis. Contribute to swarthy/redis-semaphore development by creating an account on GitHub. |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 56fb42677ae87ed3e64410323d67980aa65d0485568a7858f874e7edfc6d1c11 |
| turbo-cache-control | no-cache |
| go-import | github.com/swarthy/redis-semaphore git https://github.com/swarthy/redis-semaphore.git |
| octolytics-dimension-user_id | 2337082 |
| octolytics-dimension-user_login | swarthy |
| octolytics-dimension-repository_id | 117260693 |
| octolytics-dimension-repository_nwo | swarthy/redis-semaphore |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 117260693 |
| octolytics-dimension-repository_network_root_nwo | swarthy/redis-semaphore |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 9c9a37e2423ed382cf39f70b5aa4b4858b40a3b0 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/swarthy/redis-semaphore#start-of-content |
| https://github.com/ |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fswarthy%2Fredis-semaphore |
| GitHubRepository hosting, code review, and collaboration | https://github.com/platform |
| CopilotAI coding agent for tasks, projects, and automated work | https://github.com/features/copilot |
| ActionsCI/CD and automation | https://github.com/features/actions |
| Code QualityQuality analysis, fixes, and enforcement | https://github.com/features/code-quality |
| CodespacesCloud development environments | https://github.com/features/codespaces |
| Code SecurityVulnerability detection and remediation | https://github.com/security/advanced-security/code-security |
| Secret ProtectionSecret scanning and leak prevention | https://github.com/security/advanced-security/secret-protection |
| All Features | https://github.com/features |
| Documentation | https://docs.github.com/en |
| Training | https://learn.github.com/skills |
| Certifications | https://learn.github.com/credentials |
| Build with Copilot | https://github.com/features/ai |
| Customize Copilot | https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview |
| Integrations | https://github.com/marketplace |
| Trending repos | https://github.com/trending |
| GitHub Sponsors | https://github.com/open-source/sponsors |
| Developer articles | https://github.com/resources/articles |
| ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place. | https://github.blog/changelog/ |
| Enterprises | https://github.com/enterprise |
| Team | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| See all industries | https://github.com/solutions/industry |
| Why GitHub | https://github.com/why-github |
| Customer Stories | https://github.com/customer-stories |
| Business insights | https://github.com/solutions/executive-insights |
| Trust Center | https://github.com/trust-center |
| GitHub Advanced SecurityEnterprise-grade code security | https://github.com/security/advanced-security |
| Copilot for businessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Documentation | https://docs.github.com/en |
| Resource center | https://github.com/resources |
| Blog | https://github.blog/ |
| Events & webinars | https://github.com/resources/events |
| Community Forum | https://github.com/orgs/community/discussions |
| Customer Stories | https://github.com/customer-stories |
| Integrations | https://github.com/marketplace |
| Customer support | https://help.github.com/ |
| Training | https://learn.github.com/skills |
| GitHub Status | https://www.githubstatus.com/ |
| About | https://github.com/about |
| Partners | https://github.com/partners |
| Changelog | https://github.blog/changelog/ |
| GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub. | https://githubuniverse.com/ |
| Pricing | https://github.com/pricing |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fswarthy%2Fredis-semaphore |
| Sign up | https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=swarthy%2Fredis-semaphore |
| Reload | https://github.com/swarthy/redis-semaphore |
| Reload | https://github.com/swarthy/redis-semaphore |
| Reload | https://github.com/swarthy/redis-semaphore |
| swarthy | https://github.com/swarthy |
| redis-semaphore | https://github.com/swarthy/redis-semaphore |
| Code | https://github.com/swarthy/redis-semaphore |
| Issues4 (4) | https://github.com/swarthy/redis-semaphore/issues |
| Pull requests10 (10) | https://github.com/swarthy/redis-semaphore/pulls |
| Actions | https://github.com/swarthy/redis-semaphore/actions |
| Projects | https://github.com/swarthy/redis-semaphore/projects |
| Security and quality | https://github.com/swarthy/redis-semaphore/security |
| Insights | https://github.com/swarthy/redis-semaphore/pulse |
| https://github.com/swarthy/redis-semaphore |
| redis-semaphore | https://github.com/swarthy/redis-semaphore |
| Notifications | https://github.com/login?return_to=%2Fswarthy%2Fredis-semaphore |
| Fork31 (31) | https://github.com/login?return_to=%2Fswarthy%2Fredis-semaphore |
| Star210 (210) | https://github.com/login?return_to=%2Fswarthy%2Fredis-semaphore |
| mutex | https://github.com/topics/mutex |
| nodejs | https://github.com/topics/nodejs |
| redis | https://github.com/topics/redis |
| semaphore | https://github.com/topics/semaphore |
| Readme | https://github.com/swarthy/redis-semaphore#readme-ov-file |
| MIT license | https://github.com/swarthy/redis-semaphore#MIT-1-ov-file |
| Activity | https://github.com/swarthy/redis-semaphore/activity |
| 31 forks | https://github.com/swarthy/redis-semaphore/forks |
| Report repository | https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fswarthy%2Fredis-semaphore&report=swarthy+%28user%29 |
| Branches | https://github.com/swarthy/redis-semaphore/branches |
| Tags | https://github.com/swarthy/redis-semaphore/tags |
| https://github.com/swarthy/redis-semaphore/branches |
| https://github.com/swarthy/redis-semaphore/tags |
| 337 Commits | https://github.com/swarthy/redis-semaphore/commits/master/ |
| https://github.com/swarthy/redis-semaphore/commits/master/ |
| .github | https://github.com/swarthy/redis-semaphore/tree/master/.github |
| .github | https://github.com/swarthy/redis-semaphore/tree/master/.github |
| src | https://github.com/swarthy/redis-semaphore/tree/master/src |
| src | https://github.com/swarthy/redis-semaphore/tree/master/src |
| test | https://github.com/swarthy/redis-semaphore/tree/master/test |
| test | https://github.com/swarthy/redis-semaphore/tree/master/test |
| .codeclimate.yml | https://github.com/swarthy/redis-semaphore/blob/master/.codeclimate.yml |
| .codeclimate.yml | https://github.com/swarthy/redis-semaphore/blob/master/.codeclimate.yml |
| .fossa.yml | https://github.com/swarthy/redis-semaphore/blob/master/.fossa.yml |
| .fossa.yml | https://github.com/swarthy/redis-semaphore/blob/master/.fossa.yml |
| .gitignore | https://github.com/swarthy/redis-semaphore/blob/master/.gitignore |
| .gitignore | https://github.com/swarthy/redis-semaphore/blob/master/.gitignore |
| .oxlintrc.json | https://github.com/swarthy/redis-semaphore/blob/master/.oxlintrc.json |
| .oxlintrc.json | https://github.com/swarthy/redis-semaphore/blob/master/.oxlintrc.json |
| .prettierrc | https://github.com/swarthy/redis-semaphore/blob/master/.prettierrc |
| .prettierrc | https://github.com/swarthy/redis-semaphore/blob/master/.prettierrc |
| .snyk | https://github.com/swarthy/redis-semaphore/blob/master/.snyk |
| .snyk | https://github.com/swarthy/redis-semaphore/blob/master/.snyk |
| .yarnrc.yml | https://github.com/swarthy/redis-semaphore/blob/master/.yarnrc.yml |
| .yarnrc.yml | https://github.com/swarthy/redis-semaphore/blob/master/.yarnrc.yml |
| CHANGELOG.md | https://github.com/swarthy/redis-semaphore/blob/master/CHANGELOG.md |
| CHANGELOG.md | https://github.com/swarthy/redis-semaphore/blob/master/CHANGELOG.md |
| CLAUDE.md | https://github.com/swarthy/redis-semaphore/blob/master/CLAUDE.md |
| CLAUDE.md | https://github.com/swarthy/redis-semaphore/blob/master/CLAUDE.md |
| Dockerfile | https://github.com/swarthy/redis-semaphore/blob/master/Dockerfile |
| Dockerfile | https://github.com/swarthy/redis-semaphore/blob/master/Dockerfile |
| LICENSE | https://github.com/swarthy/redis-semaphore/blob/master/LICENSE |
| LICENSE | https://github.com/swarthy/redis-semaphore/blob/master/LICENSE |
| README.md | https://github.com/swarthy/redis-semaphore/blob/master/README.md |
| README.md | https://github.com/swarthy/redis-semaphore/blob/master/README.md |
| docker-compose.yml | https://github.com/swarthy/redis-semaphore/blob/master/docker-compose.yml |
| docker-compose.yml | https://github.com/swarthy/redis-semaphore/blob/master/docker-compose.yml |
| package.json | https://github.com/swarthy/redis-semaphore/blob/master/package.json |
| package.json | https://github.com/swarthy/redis-semaphore/blob/master/package.json |
| setup-redis-servers.sh | https://github.com/swarthy/redis-semaphore/blob/master/setup-redis-servers.sh |
| setup-redis-servers.sh | https://github.com/swarthy/redis-semaphore/blob/master/setup-redis-servers.sh |
| tsconfig.build.json | https://github.com/swarthy/redis-semaphore/blob/master/tsconfig.build.json |
| tsconfig.build.json | https://github.com/swarthy/redis-semaphore/blob/master/tsconfig.build.json |
| tsconfig.json | https://github.com/swarthy/redis-semaphore/blob/master/tsconfig.json |
| tsconfig.json | https://github.com/swarthy/redis-semaphore/blob/master/tsconfig.json |
| vitest.config.ts | https://github.com/swarthy/redis-semaphore/blob/master/vitest.config.ts |
| vitest.config.ts | https://github.com/swarthy/redis-semaphore/blob/master/vitest.config.ts |
| yarn.lock | https://github.com/swarthy/redis-semaphore/blob/master/yarn.lock |
| yarn.lock | https://github.com/swarthy/redis-semaphore/blob/master/yarn.lock |
| README | https://github.com/swarthy/redis-semaphore |
| MIT license | https://github.com/swarthy/redis-semaphore |
| https://github.com/swarthy/redis-semaphore#redis-semaphore |
| https://npmjs.org/package/redis-semaphore |
| https://github.com/swarthy/redis-semaphore/actions/workflows/branches.yml |
| https://camo.githubusercontent.com/0f67faa2321ef4d3b9d837669e7c7e2590606fa6bc7db6b8997a25a8c40ac97e/68747470733a2f2f62616467656e2e6e65742f6e706d2f74797065732f74736c6962 |
| https://coveralls.io/r/swarthy/redis-semaphore?branch=master |
| https://codeclimate.com/github/swarthy/redis-semaphore/maintainability |
| https://snyk.io/test/npm/redis-semaphore |
| https://app.fossa.com/projects/custom%2B10538%2Fgit%40github.com%3Aswarthy%2Fredis-semaphore.git?ref=badge_shield |
| Mutex | https://en.wikipedia.org/wiki/Lock_(computer_science) |
| Semaphore | https://en.wikipedia.org/wiki/Semaphore_(programming) |
| Redis | https://redis.io/ |
| https://github.com/swarthy/redis-semaphore#features |
| https://github.com/swarthy/redis-semaphore#usage |
| https://github.com/swarthy/redis-semaphore#installation |
| support for requiring synchronous ESM graphs | https://nodejs.org/api/modules.html#loading-ecmascript-modules-using-require |
| https://github.com/swarthy/redis-semaphore#mutex |
| RedisLabs: Locks with timeouts | https://redislabs.com/ebook/part-2-core-concepts/chapter-6-application-components-in-redis/6-2-distributed-locking/6-2-5-locks-with-timeouts/ |
| https://github.com/swarthy/redis-semaphore#new-mutexredisclient-key---locktimeout--10000-acquiretimeout--10000-acquireattemptslimit--numberpositive_infinity-retryinterval--10-refreshinterval--locktimeout--08-identifier--cryptorandomuuid- |
| https://github.com/swarthy/redis-semaphore#example |
| https://github.com/swarthy/redis-semaphore#example-with-lost-lock-handling |
| https://github.com/swarthy/redis-semaphore#example-with-optional-lock |
| https://github.com/swarthy/redis-semaphore#example-with-temporary-refresh |
| https://github.com/swarthy/redis-semaphore#example-with-dynamically-adjusting-existing-lock |
| https://github.com/swarthy/redis-semaphore#example-with-shared-lock-between-scheduler-and-handler-apps |
| https://github.com/swarthy/redis-semaphore#semaphore |
| RedisLabs: Basic counting sempahore | https://redislabs.com/ebook/part-2-core-concepts/chapter-6-application-components-in-redis/6-3-counting-semaphores/6-3-1-building-a-basic-counting-semaphore/ |
| RedisLabs: Fair semaphore | https://redislabs.com/ebook/part-2-core-concepts/chapter-6-application-components-in-redis/6-3-counting-semaphores/6-3-2-fair-semaphores/ |
| https://github.com/swarthy/redis-semaphore#new-semaphoreredisclient-key-maxcount---locktimeout--10000-acquiretimeout--10000-acquireattemptslimit--numberpositive_infinity-retryinterval--10-refreshinterval--locktimeout--08- |
| https://github.com/swarthy/redis-semaphore#example-1 |
| https://github.com/swarthy/redis-semaphore#multisemaphore |
| https://github.com/swarthy/redis-semaphore#new-multisemaphoreredisclient-key-maxcount-permits---locktimeout--10000-acquiretimeout--10000-acquireattemptslimit--numberpositive_infinity-retryinterval--10-refreshinterval--locktimeout--08- |
| https://github.com/swarthy/redis-semaphore#example-2 |
| https://github.com/swarthy/redis-semaphore#redlockmutex |
| The Redlock algorithm | https://redis.io/topics/distlock#the-redlock-algorithm |
| https://github.com/swarthy/redis-semaphore#new-redlockmutexredisclients-key---locktimeout--10000-acquiretimeout--10000-acquireattemptslimit--numberpositive_infinity-retryinterval--10-refreshinterval--locktimeout--08- |
| https://github.com/swarthy/redis-semaphore#example-3 |
| https://github.com/swarthy/redis-semaphore#redlocksemaphore |
| The Redlock algorithm | https://redis.io/topics/distlock#the-redlock-algorithm |
| https://github.com/swarthy/redis-semaphore#new-redlocksemaphoreredisclients-key-maxcount---locktimeout--10000-acquiretimeout--10000-acquireattemptslimit--numberpositive_infinity-retryinterval--10-refreshinterval--locktimeout--08- |
| https://github.com/swarthy/redis-semaphore#example-4 |
| https://github.com/swarthy/redis-semaphore#redlockmultisemaphore |
| The Redlock algorithm | https://redis.io/topics/distlock#the-redlock-algorithm |
| https://github.com/swarthy/redis-semaphore#new-redlockmultisemaphoreredisclients-key-maxcount-permits---locktimeout--10000-acquiretimeout--10000-acquireattemptslimit--numberpositive_infinity-retryinterval--10-refreshinterval--locktimeout--08- |
| https://github.com/swarthy/redis-semaphore#example-5 |
| https://github.com/swarthy/redis-semaphore#development |
| https://github.com/swarthy/redis-semaphore#license |
| https://app.fossa.com/projects/custom%2B10538%2Fgit%40github.com%3Aswarthy%2Fredis-semaphore.git?ref=badge_large |
| mutex | https://github.com/topics/mutex |
| nodejs | https://github.com/topics/nodejs |
| redis | https://github.com/topics/redis |
| semaphore | https://github.com/topics/semaphore |
| Readme | https://github.com/swarthy/redis-semaphore#readme-ov-file |
| MIT license | https://github.com/swarthy/redis-semaphore#MIT-1-ov-file |
| Activity | https://github.com/swarthy/redis-semaphore/activity |
| 31 forks | https://github.com/swarthy/redis-semaphore/forks |
| Report repository | https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fswarthy%2Fredis-semaphore&report=swarthy+%28user%29 |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |