pipework 0.88.0 → 0.89.0
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.
- package/CHANGELOG.md +9 -0
- package/dist/REFERENCE.md +1477 -0
- package/dist/async/jobs/errors.d.ts +25 -0
- package/dist/async/jobs/errors.d.ts.map +1 -1
- package/dist/async/jobs/errors.js +27 -0
- package/dist/async/jobs/errors.js.map +1 -1
- package/dist/async/jobs/execute.d.ts +1 -1
- package/dist/async/jobs/execute.d.ts.map +1 -1
- package/dist/async/jobs/index.d.ts +1 -1
- package/dist/async/jobs/index.d.ts.map +1 -1
- package/dist/async/jobs/index.js +1 -1
- package/dist/async/jobs/index.js.map +1 -1
- package/dist/async/jobs/namespace.d.ts +10 -0
- package/dist/async/jobs/namespace.d.ts.map +1 -1
- package/dist/async/jobs/namespace.js +5 -0
- package/dist/async/jobs/namespace.js.map +1 -1
- package/dist/async/jobs/queue.d.ts +7 -2
- package/dist/async/jobs/queue.d.ts.map +1 -1
- package/dist/async/jobs/queue.js +27 -6
- package/dist/async/jobs/queue.js.map +1 -1
- package/dist/async/steps/graph.d.ts.map +1 -1
- package/dist/async/steps/graph.js +67 -37
- package/dist/async/steps/graph.js.map +1 -1
- package/dist/async/steps/types.d.ts +13 -1
- package/dist/async/steps/types.d.ts.map +1 -1
- package/dist/core/surface/worker.d.ts.map +1 -1
- package/dist/core/surface/worker.js +9 -2
- package/dist/core/surface/worker.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/infra/email/sigv4.d.ts +24 -0
- package/dist/infra/email/sigv4.d.ts.map +1 -0
- package/dist/infra/email/sigv4.js +55 -0
- package/dist/infra/email/sigv4.js.map +1 -0
- package/dist/test/savepoints.d.ts.map +1 -1
- package/dist/test/savepoints.js +18 -14
- package/dist/test/savepoints.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.89.0
|
|
4
|
+
|
|
5
|
+
- **New: a job can end an attempt as "later" or "permanent"** (#535). `throw jobs.later(message, { delayMs })` puts the job back to `pending` after `delayMs` (default: the queue's backoff, at least 1 s) without counting an attempt, so a service that is busy or down never dead-letters it. `throw jobs.permanent(message)` dead-letters it now, whatever attempts remain, and calls the dead-letter listeners. Both work in any `.job()` handler and in a step's `run`: a later step stays queued, and a permanent one fails its run at once and calls `onFailed`. The next attempt's trace opens with `pipework.job.restart`, reason `'later'`. New `queue.later(...)` and `queue.fail(..., { permanent: true })`.
|
|
6
|
+
- **Changed: a step's `run` holds no transaction** (#534). One short transaction reads the run's state before `run`, and another records the result and advances the run after it. A slow step no longer holds a connection idle in transaction. `ctx.checkpoint(fn)` runs database work in its own short transaction as the run's tenant. `ctx.withResult(fn)` registers writes that commit in the same transaction as the step's result. `pipe()` inside `run` now finds no transaction: use `ctx.checkpoint`.
|
|
7
|
+
|
|
8
|
+
## 0.88.1
|
|
9
|
+
|
|
10
|
+
- **Fixed: under the test harness, two transactions started from one block take turns** (#526). Before, a transaction started without being awaited (a trace closing after `asLink`) and the route's next one were open together as sibling savepoints. Releasing the first also released the second, so the request answered 500 (`3B001`). Now the second waits for the first to settle, as calls outside any block already did. A transaction started inside another still nests in it at once.
|
|
11
|
+
|
|
3
12
|
## 0.88.0
|
|
4
13
|
|
|
5
14
|
- **New: a step names the class of worker that takes it (`workers: 'model'`)** (#531). Its jobs are typed `pipework.step.<graph>:<class>` (the default class keeps `pipework.step.<graph>`), and `createWorkerSurface({ graphs: [graph.workers('model')] })` takes only those classes. Run one surface per class to give each class its own concurrency. One run keeps one status, plan, cancel and fan-in across classes, and every step keeps the run's priority.
|