Folks,

We need to support a use case here at Uber when service processes that
don't respect SIGTERM signal and get killed after a default hardcoded
preemption timeout of 1 minute during task kill or task restart. That
significantly slows down upgrade workflow for such services.
We'd like to control this timeout, essentially reducing it to 5-10 seconds.

My current thinking is to expose preemption_wait timeout

class ThermosTaskRunner(TaskRunner):
....
THERMOS_PREEMPTION_WAIT = Amount(1, Time.MINUTES)

in thermos executor flags and set it in
DefaultThermosTaskRunnerProvider eventually propagating to all
ThermosRunner tasks.

A proper fix would be probably something in the line of making this
timeout configurable per task config but that would involve changing
pystachio thermos schema.

Thoughts?

-Igor Morozov

Reply via email to