{"id":18016591,"url":"https://github.com/webassembly/wasi-distributed-lock-service","last_synced_at":"2025-10-04T23:55:39.137Z","repository":{"id":63647382,"uuid":"536174818","full_name":"WebAssembly/wasi-distributed-lock-service","owner":"WebAssembly","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-06T21:46:09.000Z","size":5,"stargazers_count":4,"open_issues_count":1,"forks_count":4,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-04-08T01:34:27.425Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/WebAssembly.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":"2022-09-13T14:49:07.000Z","updated_at":"2024-06-01T08:16:15.000Z","dependencies_parsed_at":"2024-10-30T04:42:40.220Z","dependency_job_id":null,"html_url":"https://github.com/WebAssembly/wasi-distributed-lock-service","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"WebAssembly/wasi-proposal-template","purl":"pkg:github/WebAssembly/wasi-distributed-lock-service","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebAssembly%2Fwasi-distributed-lock-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebAssembly%2Fwasi-distributed-lock-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebAssembly%2Fwasi-distributed-lock-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebAssembly%2Fwasi-distributed-lock-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WebAssembly","download_url":"https://codeload.github.com/WebAssembly/wasi-distributed-lock-service/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebAssembly%2Fwasi-distributed-lock-service/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271740730,"owners_count":24812642,"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-23T02:00:09.327Z","response_time":69,"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":[],"created_at":"2024-10-30T04:18:34.214Z","updated_at":"2025-10-04T23:55:34.102Z","avatar_url":"https://github.com/WebAssembly.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# `wasi-distributed-lock-service`\n\nA proposed [WebAssembly System Interface](https://github.com/WebAssembly/WASI) API.\n\n### Current Phase\n\n`wasi-distributed-lock-service` is currently in [Phase 1](https://github.com/WebAssembly/WASI/blob/main/Proposals.md#phase-1---feature-proposal-cg).\n\n### Champions\n\n- [Dan Chiarlone](https://github.com/danbugs)\n- [David Justice](https://github.com/devigned)\n- [Jiaxiao Zhou](https://github.com/Mossaka)\n\n### Phase 4 Advancement Criteria\n\n`wasi-distributed-lock-service` should have at least two implementations (i.e., from service providers, and or cloud providers), and, at the very minimum, pass the testsuite for Windows, Linux, and MacOS.\n\n## Table of Contents\n\n- [Introduction](#introduction)\n\n### Introduction\n\nThe `wasi-distributed-lock-service` world aim to provide a set of generic interfaces for distributed lock services which provide mechanisms to ensure that only one process can mutate a particular state at a time. They are often used to prevent race conditions in scenarios where two or more processes attempting to update the same state at the same time that could result in data inconsistencies.\n\nFor example, in a e-commerce application, when a popular item is back in stock, a distributed lock service can be used to ensure that stock is not oversold by multiple processes attempting to update the stock count at the same time.\n\n### TODO\n\nThis readme needs to be expanded to cover a number of additional fields suggested in the [WASI Proposal template](https://github.com/WebAssembly/wasi-proposal-template).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebassembly%2Fwasi-distributed-lock-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebassembly%2Fwasi-distributed-lock-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebassembly%2Fwasi-distributed-lock-service/lists"}