{"id":21603641,"url":"https://github.com/abhiroop/blockingqueue","last_synced_at":"2026-05-18T01:37:24.783Z","repository":{"id":67623945,"uuid":"95363767","full_name":"Abhiroop/BlockingQueue","owner":"Abhiroop","description":"A distributed blocking queue written using Erlang style processes and messaging passing concurrency in Cloud Haskell. ","archived":false,"fork":false,"pushed_at":"2017-06-26T22:21:14.000Z","size":9,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-18T13:56:28.639Z","etag":null,"topics":["concurrency","distributed-systems","erlang","haskell"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Abhiroop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-06-25T14:10:25.000Z","updated_at":"2017-06-25T14:52:26.000Z","dependencies_parsed_at":"2023-07-30T19:00:08.881Z","dependency_job_id":null,"html_url":"https://github.com/Abhiroop/BlockingQueue","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Abhiroop/BlockingQueue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhiroop%2FBlockingQueue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhiroop%2FBlockingQueue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhiroop%2FBlockingQueue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhiroop%2FBlockingQueue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abhiroop","download_url":"https://codeload.github.com/Abhiroop/BlockingQueue/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhiroop%2FBlockingQueue/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33161938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"ssl_error","status_checked_at":"2026-05-17T22:39:10.741Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["concurrency","distributed-systems","erlang","haskell"],"created_at":"2024-11-24T19:16:48.519Z","updated_at":"2026-05-18T01:37:24.752Z","avatar_url":"https://github.com/Abhiroop.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blocking Queue\nMessage passing concurrency unlike shared memory concurrency offers a unique way of handling problems in concurrent and distributed systems. Cloud Haskell gives us access to message passing concurrency like Erlang. Here is a Blocking Queue implemented in Cloud Haskell.\n\nWe use the `gen-server` implementation of OTP that handles\n\n1. requests to enqueue a task are handled immediately\n2. callers which are blocked until the task completes (or fails)\n3. an upper bound is placed on the number of concurrent running tasks\n\nOnce the upper bound is reached, tasks will be queued up for execution. Only when we drop below this limit will tasks be taken from the backlog and executed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhiroop%2Fblockingqueue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabhiroop%2Fblockingqueue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhiroop%2Fblockingqueue/lists"}