Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure WatchedSubprocess and CommsDecoder for reuse in DagParsing #44874

Merged
merged 1 commit into from
Dec 12, 2024

Conversation

ashb
Copy link
Member

@ashb ashb commented Dec 12, 2024

The changes introduced here lets these existing classes serve "double" duty in
the execution time of TaskSDK and also the Parse Time in the DAG Processor
(but the actual switch to use these will be a separate bigger PR).

There are a few warts left here, namely:

  • The default on CommsDecoder's decoder argument is incorrect for
    subclasses, we might fix that later to be more dynamic about the default.
  • The location of this code is not right for reuse in TaskSDK/execution time
    and parse time. There is a bigger bit of work being planned to move this all
    around before release of Airflow 3
  • Some of the functions on the base WatchedSubprocess class are TI specific
    and maybe should be on a separate subclass

The changes introduced here lets these existing classes serve "double" duty in
the execution time of TaskSDK and also the Parse Time in the DAG Processor
(but the actual switch to use these will be a separate bigger PR).

There are a few warts here, namely:

- The default on `CommsDecoder`'s decoder argument is incorrect for
  subclasses, we might fix that later to be more dynamic about the default.
- The location of this code is not right for reuse in TaskSDK/execution time
  and parse time. There is a bigger bit of work being planned to move this all
  around before release of Airflow 3
@ashb ashb merged commit f585a80 into apache:main Dec 12, 2024
46 checks passed
@ashb ashb deleted the supervisor-watched-subprocess-reusable branch December 12, 2024 14:04
ellisms pushed a commit to ellisms/airflow that referenced this pull request Dec 13, 2024
apache#44874)

The changes introduced here lets these existing classes serve "double" duty in
the execution time of TaskSDK and also the Parse Time in the DAG Processor
(but the actual switch to use these will be a separate bigger PR).

There are a few warts here, namely:

- The default on `CommsDecoder`'s decoder argument is incorrect for
  subclasses, we might fix that later to be more dynamic about the default.
- The location of this code is not right for reuse in TaskSDK/execution time
  and parse time. There is a bigger bit of work being planned to move this all
  around before release of Airflow 3
- Some of the functions on the base WatchedSubprocess class are TI specific
  and maybe should be on a separate subclass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants