tarsk-postgres 0.2.1__tar.gz → 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/Cargo.lock +14 -2
  2. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/Cargo.toml +1 -1
  3. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/PKG-INFO +5 -1
  4. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/README.md +4 -0
  5. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/crates/tarsk-core/Cargo.toml +4 -1
  6. tarsk_postgres-0.3.0/crates/tarsk-core/src/broker/amqp.rs +887 -0
  7. tarsk_postgres-0.3.0/crates/tarsk-core/src/broker/memory.rs +186 -0
  8. tarsk_postgres-0.3.0/crates/tarsk-core/src/broker/mod.rs +988 -0
  9. tarsk_postgres-0.3.0/crates/tarsk-core/src/broker/postgres.rs +781 -0
  10. tarsk_postgres-0.3.0/crates/tarsk-core/src/broker/redis_streams.rs +1227 -0
  11. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/crates/tarsk-core/src/console.rs +141 -19
  12. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/crates/tarsk-core/src/cron.rs +51 -1
  13. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/crates/tarsk-core/src/lib.rs +565 -173
  14. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/crates/tarsk-core/src/metrics.rs +29 -2
  15. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/crates/tarsk-python/src/lib.rs +105 -21
  16. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/pyproject.toml +10 -1
  17. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/tarsk/__init__.py +70 -25
  18. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/tarsk/_child.py +62 -14
  19. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/tarsk/_cli.py +16 -5
  20. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/tarsk/_proto.py +11 -4
  21. tarsk_postgres-0.2.1/crates/tarsk-core/src/broker.rs +0 -3266
  22. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/LICENSE +0 -0
  23. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/crates/tarsk-core/src/transport.rs +0 -0
  24. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/crates/tarsk-python/Cargo.toml +0 -0
  25. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/tarsk/_supervisor.py +0 -0
  26. {tarsk_postgres-0.2.1 → tarsk_postgres-0.3.0}/tarsk/py.typed +0 -0
@@ -63,6 +63,15 @@ dependencies = [
63
63
  "url",
64
64
  ]
65
65
 
66
+ [[package]]
67
+ name = "arc-swap"
68
+ version = "1.9.2"
69
+ source = "registry+https://github.com/rust-lang/crates.io-index"
70
+ checksum = "c049c0be4daef0b145cb3555416b3b8ef5b7888a38aea1a3a155801fe7b0810b"
71
+ dependencies = [
72
+ "rustversion",
73
+ ]
74
+
66
75
  [[package]]
67
76
  name = "arcstr"
68
77
  version = "1.2.0"
@@ -1669,11 +1678,14 @@ version = "1.5.0"
1669
1678
  source = "registry+https://github.com/rust-lang/crates.io-index"
1670
1679
  checksum = "3257df217f7eab0044627a268c9cc6cdb60c0c421c88f83ac41c4e31520b6b84"
1671
1680
  dependencies = [
1681
+ "arc-swap",
1672
1682
  "arcstr",
1673
1683
  "async-lock",
1684
+ "backon",
1674
1685
  "bytes",
1675
1686
  "cfg-if",
1676
1687
  "combine",
1688
+ "futures-channel",
1677
1689
  "futures-util",
1678
1690
  "itoa",
1679
1691
  "num-bigint",
@@ -2168,7 +2180,7 @@ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
2168
2180
 
2169
2181
  [[package]]
2170
2182
  name = "tarsk-core"
2171
- version = "0.2.1"
2183
+ version = "0.3.0"
2172
2184
  dependencies = [
2173
2185
  "lapin",
2174
2186
  "libc",
@@ -2182,7 +2194,7 @@ dependencies = [
2182
2194
 
2183
2195
  [[package]]
2184
2196
  name = "tarsk-python"
2185
- version = "0.2.1"
2197
+ version = "0.3.0"
2186
2198
  dependencies = [
2187
2199
  "pyo3",
2188
2200
  "rustls",
@@ -3,7 +3,7 @@ members = ["crates/tarsk-core", "crates/tarsk-python"]
3
3
  resolver = "2"
4
4
 
5
5
  [workspace.package]
6
- version = "0.2.1"
6
+ version = "0.3.0"
7
7
  license = "MIT"
8
8
  repository = "https://github.com/rahmadafandi/tarsk"
9
9
  edition = "2021"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tarsk-postgres
3
- Version: 0.2.1
3
+ Version: 0.3.0
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Programming Language :: Python :: 3
@@ -55,6 +55,10 @@ a build without the backend your URL asks for names the package you want.
55
55
  > `pip uninstall tarsk` and install the package for your broker. Nothing in your code
56
56
  > changes. See [CHANGELOG.md](CHANGELOG.md).
57
57
 
58
+ > **Upgrading from 0.2:** broker failures now raise `tarsk.BrokerError` instead of
59
+ > `ValueError`, and the workers of a fleet are best upgraded together. The four things worth
60
+ > knowing are at the top of [CHANGELOG.md](CHANGELOG.md).
61
+
58
62
  > **Status: early.** The version badge above reads live from PyPI — a number written here
59
63
  > went stale twice before this sentence replaced it. Wheels for Linux (glibc and musl,
60
64
  > x86_64 and aarch64), macOS universal2 and Windows x64, on Python 3.11 through 3.14
@@ -27,6 +27,10 @@ a build without the backend your URL asks for names the package you want.
27
27
  > `pip uninstall tarsk` and install the package for your broker. Nothing in your code
28
28
  > changes. See [CHANGELOG.md](CHANGELOG.md).
29
29
 
30
+ > **Upgrading from 0.2:** broker failures now raise `tarsk.BrokerError` instead of
31
+ > `ValueError`, and the workers of a fleet are best upgraded together. The four things worth
32
+ > knowing are at the top of [CHANGELOG.md](CHANGELOG.md).
33
+
30
34
  > **Status: early.** The version badge above reads live from PyPI — a number written here
31
35
  > went stale twice before this sentence replaced it. Wheels for Linux (glibc and musl,
32
36
  > x86_64 and aarch64), macOS universal2 and Windows x64, on Python 3.11 through 3.14
@@ -27,6 +27,9 @@ libc = "0.2.189"
27
27
  # anything when a URL asks for it with #insecure — see docs on rediss://.
28
28
  redis = { version = "1.5.0", optional = true, features = [
29
29
  "tokio-comp",
30
+ # Reconnects on its own: a plain multiplexed connection stays dead after
31
+ # one failover and the worker with it.
32
+ "connection-manager",
30
33
  "streams",
31
34
  "tokio-rustls-comp",
32
35
  "tls-rustls-insecure",
@@ -51,4 +54,4 @@ lapin = { version = "4.10.0", optional = true, default-features = false, feature
51
54
  [dev-dependencies]
52
55
  # For the doctest on supervise_until, which is the point of the crate and
53
56
  # should not be allowed to rot into prose.
54
- tokio = { version = "1.53.1", features = ["rt", "sync", "macros"] }
57
+ tokio = { version = "1.53.1", features = ["rt", "sync", "macros", "test-util"] }