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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6cbe3ab5a57c05043fa8f088c106c54ada9268286fe812b4fb43bf0d4ad4bdff
4
- data.tar.gz: 7ef9f87c80ee05ea36bc60386cc7221ad4869fadc4840d5dcc58c218bdebfabc
3
+ metadata.gz: 06ab82b849c36e97a62cfe21ddd1ecdce9901245b5d8ddb294128911e74abf03
4
+ data.tar.gz: 6c7ca53bc5163e56da92036a63f1d16fcfe4de2298fdc91fc4389d93d0e21b4b
5
5
  SHA512:
6
- metadata.gz: d84d69dafd6b1f8e98e22726556f38865e61b9e047e39ea88ab0546dbac224887ae11645728b193b457f99401f6643133dcff357cef03856cf4308818ae05288
7
- data.tar.gz: 647d4a79a3cb4ae55611f95bbefbb598dd700244820b5a20158a87c3430ba54434dfe2e7565727ceff37f53bbebc72e7f33f19ac0a7134749dec2a28331d3cf5
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: req, rep, pub, sub, push, pull, pair, dealer, router\n" \
303
- "Draft: client, server, radio, dish, scatter, gather, channel, peer\n\n"
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OMQ
4
- VERSION = "0.6.0"
4
+ VERSION = "0.6.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrik Wenger