@n8n/scheduler 1.9.1 → 1.10.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.
package/README.md CHANGED
@@ -270,6 +270,23 @@ while an unpublish deprovisions the workflow's jobs immediately before removing
270
270
  `workflow_published_version` mapping that made it an owner
271
271
  (`WorkflowPublicationApplier`).
272
272
 
273
+ n8n's `system-task` owner type shows an owner that is never deleted, only no longer
274
+ wanted by the code: a task removed, flipped back to its in-process timer, or gated off
275
+ by a flag. Each task owns one job, stamped with the n8n version that last provisioned
276
+ it. At startup, once it has provisioned the tasks it runs durably, an instance deletes
277
+ every system-task job it does not run durably, unless the stamp is newer than its own
278
+ version: a newer version added that task, and an older instance in a rolling deploy
279
+ must leave it alone (`SystemTaskJobRegistrar`). Each delete is pinned to the row as listed,
280
+ so a job another instance restamps in between survives. The resolver answers by the
281
+ same rule, so the sweep only retires what a failed startup cleanup left behind. Two
282
+ cases are deploy constraints, not code: rolling back to a version without a task
283
+ leaves that task's job in place, unclaimed, until a version that runs it boots again or
284
+ a newer version that does not run it deletes it at startup, and a version that still
285
+ declares the task durable but has the flag off skips the task's in-memory runs while
286
+ that job stays in place; and every instance must share the same system-task
287
+ configuration, since an instance that does not run a task durably deletes its job at
288
+ startup.
289
+
273
290
  **2. Register a liveness resolver.**
274
291
 
275
292
  The scheduler cannot tell whether one of your owners still exists, so you answer that