omq 0.6.0 → 0.6.1
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/CHANGELOG.md +11 -0
- data/lib/omq/cli.rb +26 -2
- data/lib/omq/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 06ab82b849c36e97a62cfe21ddd1ecdce9901245b5d8ddb294128911e74abf03
|
|
4
|
+
data.tar.gz: 6c7ca53bc5163e56da92036a63f1d16fcfe4de2298fdc91fc4389d93d0e21b4b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '096b416cdc83f3f6773e770bdbcf4a5cc0100269867ff934623c3274826546ccc8129d862428bbcc8a042d13395b503afa329bdd6c75e99e7fb569c7b73e8a48'
|
|
7
|
+
data.tar.gz: 62df2878bcef5f3a4d5b1c0ae2d1522853e81aaa4f03363c39fbd809e92b3c214eba1ba70c39850a7e86cace6a0c1d2290fd3d41809af22467f68a8e43d594ac
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.6.1 — 2026-03-30
|
|
4
|
+
|
|
5
|
+
### Improved
|
|
6
|
+
|
|
7
|
+
- **`pipe` in CLI help and examples** — added `pipe` to the help banner
|
|
8
|
+
as a virtual socket type (`PULL → eval → PUSH`) and added examples
|
|
9
|
+
showing single-worker, `-P` Ractor, and `--transient` usage.
|
|
10
|
+
- **Pipeline benchmarks run from any directory** — `pipeline.sh` and
|
|
11
|
+
`pipeline_ractors.sh` now derive absolute paths from the script
|
|
12
|
+
location instead of assuming the working directory is the project root.
|
|
13
|
+
|
|
3
14
|
## 0.6.0 — 2026-03-30
|
|
4
15
|
|
|
5
16
|
### Added
|
data/lib/omq/cli.rb
CHANGED
|
@@ -110,6 +110,29 @@ module OMQ
|
|
|
110
110
|
omq pull --bind ipc:///tmp/pipeline.sock &
|
|
111
111
|
echo "task 1" | omq push --connect ipc:///tmp/pipeline.sock
|
|
112
112
|
|
|
113
|
+
── Pipe (PULL → eval → PUSH) ────────────────────────────────
|
|
114
|
+
|
|
115
|
+
┌──────┐ ┌──────┐ ┌──────┐
|
|
116
|
+
│ PUSH │────────→│ pipe │────────→│ PULL │
|
|
117
|
+
└──────┘ └──────┘ └──────┘
|
|
118
|
+
|
|
119
|
+
# terminal 1: producer
|
|
120
|
+
echo -e "hello\nworld" | omq push --bind ipc://@work
|
|
121
|
+
|
|
122
|
+
# terminal 2: worker — uppercase each message
|
|
123
|
+
omq pipe -c ipc://@work -c ipc://@sink -e '$F.map(&:upcase)'
|
|
124
|
+
|
|
125
|
+
# terminal 3: collector
|
|
126
|
+
omq pull --bind ipc://@sink
|
|
127
|
+
|
|
128
|
+
# 4 Ractor workers in a single process (-P)
|
|
129
|
+
omq pipe -c ipc://@work -c ipc://@sink -P 4 \
|
|
130
|
+
-r ./fib.rb -e 'fib(Integer($_)).to_s'
|
|
131
|
+
|
|
132
|
+
# exit when producer disconnects (--transient)
|
|
133
|
+
omq pipe -c ipc://@work -c ipc://@sink --transient \
|
|
134
|
+
-e '$F.map(&:upcase)'
|
|
135
|
+
|
|
113
136
|
── CLIENT / SERVER (draft) ──────────────────────────────────
|
|
114
137
|
|
|
115
138
|
┌────────┐ "hello" ┌────────┐
|
|
@@ -299,8 +322,9 @@ module OMQ
|
|
|
299
322
|
|
|
300
323
|
parser = OptionParser.new do |o|
|
|
301
324
|
o.banner = "Usage: omq TYPE [options]\n\n" \
|
|
302
|
-
"Types:
|
|
303
|
-
"Draft:
|
|
325
|
+
"Types: req, rep, pub, sub, push, pull, pair, dealer, router\n" \
|
|
326
|
+
"Draft: client, server, radio, dish, scatter, gather, channel, peer\n" \
|
|
327
|
+
"Virtual: pipe (PULL → eval → PUSH)\n\n"
|
|
304
328
|
|
|
305
329
|
o.separator "Connection:"
|
|
306
330
|
o.on("-c", "--connect URL", "Connect to endpoint (repeatable)") { |v| opts[:endpoints] << Endpoint.new(v, false); opts[:connects] << v }
|
data/lib/omq/version.rb
CHANGED