tasker-rb 0.1.8 → 0.1.10
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.
- checksums.yaml +4 -4
- data/DEVELOPMENT.md +11 -11
- data/ext/tasker_core/Cargo.toml +9 -9
- data/ext/tasker_core/src/bootstrap.rs +1 -1
- data/lib/tasker_core/version.rb +1 -1
- metadata +2 -5
- data/ext/tasker_core/src/CLAUDE.md +0 -7
- data/lib/tasker_core/errors/CLAUDE.md +0 -7
- data/lib/tasker_core/worker/CLAUDE.md +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9fc63bcc6a66fce1e6574421737851da2cfa349babaf83e231c1ba928063e5b3
|
|
4
|
+
data.tar.gz: 82baff46433bde7e3d1c2062b580c66816e1eeae2554d1bb51441789857d7425
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2e39b5503b4a9e45d30ef73cee846ee7b8339a804ae8b57187b320c5ede13462e74e3495026863c9f9d0e504414d84cb143378a0e457bd851ecdc01b36253f1c
|
|
7
|
+
data.tar.gz: 34370ec6da80e27bfeb4adffc75ca324621c7322a94160b1851952269c8314fec6c55315f99f13d8788b9639ecb011f08a025529d465f38964127d7becd09cc5
|
data/DEVELOPMENT.md
CHANGED
|
@@ -11,7 +11,7 @@ cd /path/to/tasker-core
|
|
|
11
11
|
docker compose -f docker/docker-compose.test.yml up --build -d
|
|
12
12
|
|
|
13
13
|
# 2. Run Ruby tests
|
|
14
|
-
cd
|
|
14
|
+
cd crates/tasker-rb
|
|
15
15
|
bundle install
|
|
16
16
|
bundle exec rspec --format documentation
|
|
17
17
|
|
|
@@ -27,7 +27,7 @@ cd /path/to/tasker-core
|
|
|
27
27
|
docker compose -f docker/docker-compose.test.yml up postgres -d
|
|
28
28
|
|
|
29
29
|
# 2. Setup Ruby environment
|
|
30
|
-
cd
|
|
30
|
+
cd crates/tasker-rb
|
|
31
31
|
bundle install
|
|
32
32
|
bundle exec rake compile
|
|
33
33
|
|
|
@@ -36,7 +36,7 @@ cd ../..
|
|
|
36
36
|
cargo build --all-features
|
|
37
37
|
|
|
38
38
|
# 4. Run tests locally
|
|
39
|
-
cd
|
|
39
|
+
cd crates/tasker-rb
|
|
40
40
|
export DATABASE_URL="postgresql://tasker:tasker@localhost:5432/tasker_rust_test"
|
|
41
41
|
bundle exec rspec --format documentation
|
|
42
42
|
```
|
|
@@ -53,7 +53,7 @@ export DATABASE_URL="postgresql://localhost/tasker_rust_test"
|
|
|
53
53
|
cargo sqlx migrate run
|
|
54
54
|
|
|
55
55
|
# 3. Setup Ruby
|
|
56
|
-
cd
|
|
56
|
+
cd crates/tasker-rb
|
|
57
57
|
bundle install
|
|
58
58
|
bundle exec rake compile
|
|
59
59
|
|
|
@@ -70,7 +70,7 @@ bundle exec rake compile
|
|
|
70
70
|
|
|
71
71
|
### Ruby Dependencies
|
|
72
72
|
```bash
|
|
73
|
-
cd
|
|
73
|
+
cd crates/tasker-rb
|
|
74
74
|
bundle install
|
|
75
75
|
|
|
76
76
|
# Key dependencies installed:
|
|
@@ -156,7 +156,7 @@ export MAGNUS_DEBUG="true"
|
|
|
156
156
|
|
|
157
157
|
#### Unit Tests (Ruby)
|
|
158
158
|
```bash
|
|
159
|
-
cd
|
|
159
|
+
cd crates/tasker-rb
|
|
160
160
|
|
|
161
161
|
# Run all unit tests
|
|
162
162
|
bundle exec rspec spec/ffi/ spec/types/ spec/worker/ --format documentation
|
|
@@ -172,7 +172,7 @@ bundle exec rspec spec/ffi/ spec/types/ spec/worker/ --format documentation --re
|
|
|
172
172
|
|
|
173
173
|
#### Integration Tests (Docker-based)
|
|
174
174
|
```bash
|
|
175
|
-
cd
|
|
175
|
+
cd crates/tasker-rb
|
|
176
176
|
|
|
177
177
|
# Prerequisites: Start Docker services first
|
|
178
178
|
docker compose -f ../../docker/docker-compose.test.yml up --build -d
|
|
@@ -261,7 +261,7 @@ cargo build --all-features --bin tasker-server
|
|
|
261
261
|
|
|
262
262
|
### 3. Start Ruby Worker Service
|
|
263
263
|
```bash
|
|
264
|
-
cd
|
|
264
|
+
cd crates/tasker-rb
|
|
265
265
|
export DATABASE_URL="postgresql://localhost/tasker_rust_dev"
|
|
266
266
|
export TASKER_TEMPLATE_PATH="$(pwd)/spec/fixtures/templates"
|
|
267
267
|
export RUBY_HANDLER_PATH="$(pwd)/spec/handlers/examples"
|
|
@@ -357,7 +357,7 @@ ruby -v
|
|
|
357
357
|
gem list ffi
|
|
358
358
|
|
|
359
359
|
# Clean and rebuild
|
|
360
|
-
cd
|
|
360
|
+
cd crates/tasker-rb
|
|
361
361
|
bundle exec rake clean
|
|
362
362
|
bundle exec rake compile
|
|
363
363
|
|
|
@@ -443,7 +443,7 @@ bundle exec ruby benchmarks/workflow_performance_benchmark.rb
|
|
|
443
443
|
### Local CI Simulation
|
|
444
444
|
```bash
|
|
445
445
|
# Run the same commands as CI
|
|
446
|
-
cd
|
|
446
|
+
cd crates/tasker-rb
|
|
447
447
|
|
|
448
448
|
# Install dependencies (like CI)
|
|
449
449
|
bundle install
|
|
@@ -518,7 +518,7 @@ export RUBY_HANDLER_PATH="$(pwd)/spec/handlers/examples"
|
|
|
518
518
|
#### "Ruby worker FFI bootstrap failed"
|
|
519
519
|
```bash
|
|
520
520
|
# Solution: Check Ruby extension compilation
|
|
521
|
-
cd
|
|
521
|
+
cd crates/tasker-rb
|
|
522
522
|
bundle exec rake clean
|
|
523
523
|
bundle exec rake compile
|
|
524
524
|
|
data/ext/tasker_core/Cargo.toml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "tasker-rb"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.8"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
description = "Ruby bindings for tasker-core: High-performance workflow orchestration"
|
|
6
|
-
readme = "
|
|
6
|
+
readme = "../../../README.md"
|
|
7
7
|
repository = "https://github.com/tasker-systems/tasker-core"
|
|
8
8
|
license = "MIT"
|
|
9
9
|
keywords = ["bindings", "ffi", "magnus", "ruby", "worker"]
|
|
@@ -34,7 +34,7 @@ anyhow = "1.0"
|
|
|
34
34
|
# Async trait support for FrameworkIntegration
|
|
35
35
|
async-trait = "0.1"
|
|
36
36
|
# Time handling for Ruby Time ↔ Rust DateTime conversion
|
|
37
|
-
chrono = { version = "0.4.
|
|
37
|
+
chrono = { version = "0.4.44", features = ["serde"] }
|
|
38
38
|
# Environment variable loading
|
|
39
39
|
dotenvy = "0.15"
|
|
40
40
|
# Ruby FFI
|
|
@@ -49,7 +49,7 @@ once_cell = "1.19"
|
|
|
49
49
|
serde = { version = "=1.0.228", features = ["derive", "std"] }
|
|
50
50
|
# Serialization for Ruby ↔ Rust data conversion
|
|
51
51
|
serde_json = "1.0"
|
|
52
|
-
serde_magnus = "0.
|
|
52
|
+
serde_magnus = "0.11"
|
|
53
53
|
serde_yaml = "0.9"
|
|
54
54
|
# Database (needed for PgPool)
|
|
55
55
|
sqlx = { version = "0.8", features = [
|
|
@@ -66,21 +66,21 @@ sqlx = { version = "0.8", features = [
|
|
|
66
66
|
# Both path (for workspace builds) and version (for standalone/published builds).
|
|
67
67
|
# cargo publish strips the path field, leaving only the version for crates.io resolution.
|
|
68
68
|
# Version pins are updated by scripts/release/update-versions.sh during release-prepare.
|
|
69
|
-
tasker-shared = { path = "
|
|
70
|
-
tasker-worker = { path = "
|
|
69
|
+
tasker-shared = { path = "../../../tasker-shared", version = "=0.1.8" }
|
|
70
|
+
tasker-worker = { path = "../../../tasker-worker", version = "=0.1.8" }
|
|
71
71
|
# Error handling
|
|
72
72
|
thiserror = "2.0"
|
|
73
73
|
# Async runtime for blocking on futures in FFI
|
|
74
|
-
tokio = { version = "1.
|
|
74
|
+
tokio = { version = "1.50", features = ["rt-multi-thread"] }
|
|
75
75
|
# Logging
|
|
76
76
|
tracing = "0.1"
|
|
77
77
|
# UUID generation for event bridge
|
|
78
|
-
uuid = { version = "1.
|
|
78
|
+
uuid = { version = "1.22", features = ["serde", "v4", "v7"] }
|
|
79
79
|
# Project root detection
|
|
80
80
|
workspace_tools = { version = "0.11.0", features = ["full"] }
|
|
81
81
|
|
|
82
82
|
[dev-dependencies]
|
|
83
|
-
tasker-core = { package = "tasker-core", path = "../../../../", version = "=0.1.
|
|
83
|
+
tasker-core = { package = "tasker-core", path = "../../../../", version = "=0.1.8" }
|
|
84
84
|
|
|
85
85
|
[features]
|
|
86
86
|
default = []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//! # Ruby Worker Bootstrap
|
|
2
2
|
//!
|
|
3
|
-
//! TAS-67: Follows the same patterns as
|
|
3
|
+
//! TAS-67: Follows the same patterns as crates/tasker-example-rs/src/bootstrap.rs but adapted
|
|
4
4
|
//! for Ruby FFI integration with magnus. Uses FfiDispatchChannel for step event
|
|
5
5
|
//! dispatch instead of the legacy RubyEventHandler.
|
|
6
6
|
//!
|
data/lib/tasker_core/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tasker-rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.10
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pete Taylor
|
|
@@ -216,7 +216,6 @@ files:
|
|
|
216
216
|
- ext/tasker_core/Cargo.lock
|
|
217
217
|
- ext/tasker_core/Cargo.toml
|
|
218
218
|
- ext/tasker_core/extconf.rb
|
|
219
|
-
- ext/tasker_core/src/CLAUDE.md
|
|
220
219
|
- ext/tasker_core/src/bootstrap.rs
|
|
221
220
|
- ext/tasker_core/src/bridge.rs
|
|
222
221
|
- ext/tasker_core/src/client_ffi.rs
|
|
@@ -240,7 +239,6 @@ files:
|
|
|
240
239
|
- lib/tasker_core/domain_events/publisher_registry.rb
|
|
241
240
|
- lib/tasker_core/domain_events/subscriber_registry.rb
|
|
242
241
|
- lib/tasker_core/errors.rb
|
|
243
|
-
- lib/tasker_core/errors/CLAUDE.md
|
|
244
242
|
- lib/tasker_core/errors/common.rb
|
|
245
243
|
- lib/tasker_core/errors/error_classifier.rb
|
|
246
244
|
- lib/tasker_core/event_bridge.rb
|
|
@@ -284,7 +282,6 @@ files:
|
|
|
284
282
|
- lib/tasker_core/types/task_template.rb
|
|
285
283
|
- lib/tasker_core/types/task_types.rb
|
|
286
284
|
- lib/tasker_core/version.rb
|
|
287
|
-
- lib/tasker_core/worker/CLAUDE.md
|
|
288
285
|
- lib/tasker_core/worker/event_poller.rb
|
|
289
286
|
- lib/tasker_core/worker/in_process_domain_event_poller.rb
|
|
290
287
|
homepage: https://github.com/tasker-systems/tasker-core
|
|
@@ -292,7 +289,7 @@ licenses:
|
|
|
292
289
|
- MIT
|
|
293
290
|
metadata:
|
|
294
291
|
homepage_uri: https://github.com/tasker-systems/tasker-core
|
|
295
|
-
source_code_uri: https://github.com/tasker-systems/tasker-core/tree/main/
|
|
292
|
+
source_code_uri: https://github.com/tasker-systems/tasker-core/tree/main/crates/tasker-rb
|
|
296
293
|
changelog_uri: https://github.com/tasker-systems/tasker-core/blob/main/CHANGELOG.md
|
|
297
294
|
documentation_uri: https://docs.tasker.systems
|
|
298
295
|
bug_tracker_uri: https://github.com/tasker-systems/tasker-core/issues
|