{"id":30160164,"url":"https://github.com/tessellator/resilience4clj-bulkhead","last_synced_at":"2025-08-11T15:35:49.391Z","repository":{"id":62434878,"uuid":"241783057","full_name":"tessellator/resilience4clj-bulkhead","owner":"tessellator","description":"A small Clojure wrapper around the resilience4j Bulkhead module ","archived":false,"fork":false,"pushed_at":"2020-02-20T05:53:13.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-06T14:06:23.860Z","etag":null,"topics":["bulkhead","clojure","resilience","resilience4j"],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tessellator.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":null,"support":null}},"created_at":"2020-02-20T03:21:02.000Z","updated_at":"2023-10-31T10:30:09.000Z","dependencies_parsed_at":"2022-11-01T21:02:25.347Z","dependency_job_id":null,"html_url":"https://github.com/tessellator/resilience4clj-bulkhead","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/tessellator/resilience4clj-bulkhead","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessellator%2Fresilience4clj-bulkhead","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessellator%2Fresilience4clj-bulkhead/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessellator%2Fresilience4clj-bulkhead/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessellator%2Fresilience4clj-bulkhead/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tessellator","download_url":"https://codeload.github.com/tessellator/resilience4clj-bulkhead/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessellator%2Fresilience4clj-bulkhead/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269914969,"owners_count":24495635,"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-08-11T02:00:10.019Z","response_time":75,"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":["bulkhead","clojure","resilience","resilience4j"],"created_at":"2025-08-11T15:35:41.420Z","updated_at":"2025-08-11T15:35:49.379Z","avatar_url":"https://github.com/tessellator.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# resilience4clj-bulkhead\n\nA small Clojure wrapper around the\n[resilience4j Bulkhead module](https://resilience4j.readme.io/docs/bulkhead).\nRequires Clojure 1.9 or later.\n\n[![clojars badge](https://img.shields.io/clojars/v/tessellator/resilience4clj-bulkhead.svg)](https://clojars.org/tessellator/resilience4clj-bulkhead)\n[![cljdoc badge](https://cljdoc.org/badge/tessellator/resilience4clj-bulkhead)](https://cljdoc.org/d/tessellator/resilience4clj-bulkhead/CURRENT)\n\n\n## Quick Start\n\nThe following code defines a function `make-remote-call` that will limit the\nnumber of concurrent calls to an external service using a bulkhead named\n`:my-bulkhead` in the global registry. If the bulkhead does not already exist in\nthe global registry, one is created.\n\nIf a call would cause the bulkhead to exceed the maximum number of allowable\nconcurrent calls, that call will instead wait for permission to execute. If the\ncall does not receive permission to execute before a timeout period expires, an\nexception will be thrown.\n\n```clojure\n(ns myproject.some-client\n  (:require [clj-http.client :as http]\n            [resilience4clj.bulkhead :refer [with-bulkhead]])\n\n(defn make-remote-call []\n  (with-bulkhead :my-bulkhead\n    (http/get \"https://www.example.com\")))\n```\n\nRefer to the [configuration guide](/doc/01_configuration.md) for more\ninformation on how to configure the global registry as well as individual\nbulkheads.\n\nRefer to the [usage guide](/doc/02_usage.md) for more information on how to\nuse bulkheads.\n\n## License\n\nCopyright © 2020 Thomas C. Taylor and contributors.\n\nDistributed under the Eclipse Public License version 2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftessellator%2Fresilience4clj-bulkhead","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftessellator%2Fresilience4clj-bulkhead","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftessellator%2Fresilience4clj-bulkhead/lists"}