amoghrajesh commented on PR #54089:
URL: https://github.com/apache/airflow/pull/54089#issuecomment-3154605942
Both your concerns, @potiuk:
> less important -> it does not allow to run code that implements SIGALARM
handling on their own (for example some timout handlers in Pytest use SIGALRM
for test timeouts, but I can imagine other libraries doing it internally
more important -> badly written C code that does not check for alarms
periodically might cause the task to run forever - without respecting the
timeout. SIGALRM is fired, passed to the long-running C-code and it waits until
the c code checks for it. This caused a number of issues raised to us in the
past.
Should be addressed if we can move the timeout mechanism to the supervisor,
it will monitor tasks externally.
Supervisor ─── Task Process
↑ ↓
monitors & runs user code
handles timeout
And I think it should not be very hard to do so, we just have to use the
comms to send across a message before running a task to communicate to the
supervisor that a timeout is configured and it is going to be run with a
timeout. We could repurpose the `kill` implementation for both execution
timeout as well as no reports from the task.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]