Skip to content

Commit 702a251

Browse files
authored
Add initial version of Rust client for durable (#14)
* initial rust initialization * added pre-commit * set up sqlx and rust * added license files and initial migration; * added initial impl of client * tests compile * fixed bugs with sqlx types * added documentation * added tests * updated tasks * added a test that mocks the example in README * removed todos * added convenience methods for uuid, rand, now * added handling for spawning and joining subtasks from workflows * added missing sql and test files * merged migrations * cleaned up bad code * cleaned up json handling * made process exit optional on too-long tasks * fixed semaphore ordering * fixed issues with clock skew * improved handling of leases * added comments on sql schema * enforced that claim timeouts must be set * cleaned up and documented sql * added support for transactions that enqueue tasks * added a bunch of tests * documented and tested event semantics * added benchmarks * removed queue name option * oops forgot a comment * handled open-sourcing * changed language around absurd to be more clear
1 parent 8fa9fc8 commit 702a251

40 files changed

+13052
-1
lines changed

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,17 @@ target
1919
# and can be added to the global gitignore or merged into this file. For a more nuclear
2020
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
2121
#.idea/
22+
23+
24+
# Added by cargo
25+
26+
/target
27+
28+
29+
# Added by cargo
30+
#
31+
# already existing elements were commented out
32+
33+
#/target
34+
.claude/
35+
.envrc

.pre-commit-config.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v6.0.0
4+
hooks:
5+
- id: check-added-large-files
6+
args: ["--maxkb=1024"]
7+
- id: check-case-conflict
8+
- id: check-executables-have-shebangs
9+
- id: check-json
10+
- id: check-merge-conflict
11+
- id: check-symlinks
12+
- id: check-toml
13+
- id: check-vcs-permalinks
14+
- id: check-xml
15+
- id: check-yaml
16+
- id: detect-private-key
17+
- id: end-of-file-fixer
18+
- id: trailing-whitespace
19+
20+
- repo: local
21+
hooks:
22+
- id: cargo-deny
23+
name: cargo deny
24+
entry: cargo deny check
25+
language: system
26+
types: [rust]
27+
pass_filenames: false
28+
29+
- id: cargo-fmt
30+
name: cargo fmt
31+
entry: cargo fmt -- --check
32+
language: system
33+
types: [rust]
34+
pass_filenames: false
35+
36+
- id: cargo-clippy
37+
name: cargo clippy
38+
entry: cargo clippy --all-targets --all-features -- -D warnings
39+
language: system
40+
types: [rust]
41+
pass_filenames: false

0 commit comments

Comments
 (0)