wurk 1.7.5 → 1.7.6
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/README.md +3 -3
- data/lib/wurk/encryption.rb +7 -1
- data/lib/wurk/version.rb +1 -1
- data/vendor/assets/dashboard/wurk-manifest.json +2 -2
- 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: d232f2e0c78233c2bbd71051a07df6e791d1fb1c0d701c9e3ff0820035207077
|
|
4
|
+
data.tar.gz: 06d15b628db2d8ab75ab8440b48f372ea0943108a0c19533db0c2cf82a1b74fe
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 522ee07752a14d58635f770411bf7d74d53fca26141f04f73e0f6596e27374ea580b11d405cdcaf297c53aeaca3e08f06e1409b876159fea34cd6c91bbbcbf89
|
|
7
|
+
data.tar.gz: 1ffc5b66a6ce06ee39353e3593296f22ac99f8851000fa1b78fcbfb30ff7617a742804fdf6584a07b9a4b039477b736b26c644e8844c8f420766fb21670fc287
|
data/README.md
CHANGED
|
@@ -130,7 +130,7 @@ Method, per-invocation records, workload definitions, and the separate `rake ben
|
|
|
130
130
|
|
|
131
131
|
## Documentation
|
|
132
132
|
|
|
133
|
-
- **[Website](https://developerz-ai.github.io/wurk/)** · **[Wiki
|
|
133
|
+
- **[Website](https://developerz-ai.github.io/wurk/)** · **[Wiki](https://github.com/developerz-ai/wurk/wiki)** — the pitch, install, and short orientation guides; the complete reference is [`docs/`](https://github.com/developerz-ai/wurk/tree/main/docs), linked from every wiki page.
|
|
134
134
|
- **[API reference (YARD)](https://developerz-ai.github.io/wurk/api/)** — generated docs for the public classes (`Wurk::Worker`, `Wurk::Client`, `Wurk::Configuration`, `Wurk::Batch`, `Wurk::Limiter`, `Wurk::Unique`, and the `Sidekiq::*` aliases). Machine-readable map for AI agents: **[llms.txt](https://developerz-ai.github.io/wurk/llms.txt)**.
|
|
135
135
|
- **[Getting started & architecture](https://github.com/developerz-ai/wurk/blob/main/docs/idea/01-overview.md)** — how the swarm, manager, fetcher, and processor fit together.
|
|
136
136
|
- **[Starting the worker](https://github.com/developerz-ai/wurk/blob/main/docs/running.md)** — Rails auto-start, the `wurk`/`wurkswarm` runners, and running standalone without Rails.
|
|
@@ -278,7 +278,7 @@ Infrastructure this basic should be free software. A Rails app shouldn't need a
|
|
|
278
278
|
What has made that hard is maintenance: someone has to be paid to do it. Sidekiq funds a decade of *human* maintenance through its paid tiers, which is an honest trade. Wurk makes a different one — it is maintained **AI-first**: implementation, parity suite, docs, and benchmarks are written and kept current by AI agents under human review. A fix, a doc update, or a version bump is no longer somebody's week, which is what makes it practical to:
|
|
279
279
|
|
|
280
280
|
- ship the entire Pro + Enterprise surface with no tier, no flag gate, and no license check;
|
|
281
|
-
- keep parity honest mechanically rather than by hand — an independently written parity oracle suite, pinned to a documented Sidekiq revision, plus
|
|
281
|
+
- keep parity honest mechanically rather than by hand — an independently written parity oracle suite, pinned to a documented Sidekiq revision, plus sidekiq-cron's upstream suite running against Wurk on every push ([docs/idea/14-ecosystem-compat.md](https://github.com/developerz-ai/wurk/blob/main/docs/idea/14-ecosystem-compat.md) tracks the rest);
|
|
282
282
|
- keep adding surface Sidekiq doesn't have — the [Wurk extras](#wurk-extras) above landed as one release;
|
|
283
283
|
- hold ourselves to published numbers instead of adjectives — the suite runs against stock Sidekiq every release and ships the results [as measured](docs/benchmarks.md), including the unflattering ones.
|
|
284
284
|
|
|
@@ -297,7 +297,7 @@ Wurk is MIT and stays that way. If what you need is a commercial support contrac
|
|
|
297
297
|
+ gem "wurk"
|
|
298
298
|
```
|
|
299
299
|
|
|
300
|
-
`bundle install && restart`. Wurk reads and writes the same Redis schema, so a rolling deploy can run Sidekiq and Wurk against the same Redis during the cutover.
|
|
300
|
+
`bundle install && restart`. Wurk reads and writes the same Redis schema, so a rolling deploy can run Sidekiq and Wurk against the same Redis during the cutover. sidekiq-cron's upstream suite runs against Wurk in the [`ecosystem` CI job](https://github.com/developerz-ai/wurk/blob/main/.github/workflows/ecosystem.yml) (see [`test/ecosystem/`](https://github.com/developerz-ai/wurk/tree/main/test/ecosystem)). sidekiq-unique-jobs, sidekiq-scheduler, sidekiq-status, sidekiq-failures and sidekiq-throttled are target additions tracked in [docs/idea/14-ecosystem-compat.md](https://github.com/developerz-ai/wurk/blob/main/docs/idea/14-ecosystem-compat.md).
|
|
301
301
|
|
|
302
302
|
Full walkthrough — config side-by-side, the Redis key/`sidekiq_options` mapping, known incompatibilities, and a one-page cutover checklist: **[docs/migrate-from-sidekiq.md](https://github.com/developerz-ai/wurk/blob/main/docs/migrate-from-sidekiq.md)**.
|
|
303
303
|
|
data/lib/wurk/encryption.rb
CHANGED
|
@@ -150,7 +150,13 @@ module Wurk
|
|
|
150
150
|
version = Integer(envelope['v'])
|
|
151
151
|
cipher = build_decrypt_cipher(envelope, key_for(version))
|
|
152
152
|
plain = cipher.update(::Base64.strict_decode64(envelope['ct'])) + cipher.final
|
|
153
|
-
|
|
153
|
+
# No `quirks_mode:` — an encrypted arg may be a bare scalar ("hi", 42,
|
|
154
|
+
# null), and every json the gemspec's `>= 3.2` floor can resolve parses
|
|
155
|
+
# those at the top level by default (RFC 7159, json >= 2.0). The option
|
|
156
|
+
# was therefore already a no-op, and json 3.0.0 removed it outright:
|
|
157
|
+
# passing it raises ArgumentError and every encrypted job dies in the
|
|
158
|
+
# server middleware.
|
|
159
|
+
::JSON.parse(plain)
|
|
154
160
|
end
|
|
155
161
|
|
|
156
162
|
# @return [Boolean] true if `value` looks like a Wurk crypto envelope.
|
data/lib/wurk/version.rb
CHANGED