Skip to content

#331 - ProcessManager: track the processed iterable and blocking tasks by task configuration - #332

Open
njoubert-cleverage wants to merge 1 commit into
mainfrom
331
Open

njoubert-cleverage wants to merge 1 commit into
mainfrom
331

Conversation

@njoubert-cleverage

Copy link
Copy Markdown
Member

Description

Fixes #331.

  • processedIterables and processedBlockings are indexed by task configuration (spl_object_id()) instead of task code: a task of a sub-process (process_executor) with the same code as a task of the parent no longer overwrites, then removes, the entry of the parent (blocking task never proceeded, output lost without error; flush of the iteration skipped, merged batches).
  • The entries of a process are removed from the registries when its execution ends (finally of doExecute()): a failed or stopped sub-process no longer leaves its tasks to its next execution.
  • New ProcessManagerSubProcessTest (blocking and iterable cases).

Requirements

  • Documentation updates
    • Reference
    • Changelog
  • Unit tests

Breaking changes

None: the registries are protected properties, only their keys change.

🤖 Generated with Claude Code

…s by task configuration instead of task code, and forget them when their process ends: a task of a sub-process with the same code as a task of the parent no longer makes the parent lose the output of its blocking task or skip the flush of its iteration. Add tests.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ProcessManager: a task of a sub-process with the same code as a task of the parent overwrites its iterable/blocking state

1 participant