Skip to content

Conversation

kfindeisen
Copy link
Member

This PR turns off multiprocessing in pipeline execution, preventing a bug where task logs were not going through our logger. This is a mid-term workaround; we expect to restore compatibility with multiprocessing in the future.

Assigning the temporary Butler to a local variable makes it usable at
other pipeline execution steps.
This factory can be shared among multiple components. The explicit
namespace is to disambiguate ctrl.mpexec.TaskFactory from
pipe.base.TaskFactory.
This config never uses multiprocessing, avoiding problems associated
with spawning.
)
graph_executor = MPGraphExecutor(
# TODO: re-enable parallel execution once we can log as desired with CliLog or a successor
# (see issues linked from DM-42063)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a good workaround for the time being. Maybe we should create a new ticket for the future work discussed at Slack on more properly engineering this even if that may not happen soon?

Copy link
Member Author

@kfindeisen kfindeisen Dec 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it will need to be done piece by piece, and would prefer to avoid a Big Design Discussion that tries to solve everything at once. I hope to discuss the details with Middleware after catching up on backlog.

@kfindeisen kfindeisen merged commit d246bc3 into main Dec 7, 2023
@kfindeisen kfindeisen deleted the tickets/DM-42063 branch December 7, 2023 20:29
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.

2 participants