Worker does not terminate when sent TERM signal
When I start a worker with
sudo -u _openqa-worker /home/richie/qa/openQA/script/worker --instance 1
--isotovideo ~/qa/os-autoinst/isotovideo --verbose --apikey 1234567890ABCDEF --a
and run a job which fails or completes (more often with a job which fails), the script will not close unless I send the kill signal.
If I press
^C then the following is printed:
[INFO] quit due to signal INT
If I send
kill -TERM <pid> then is printed:
[INFO] quit due to signal TERM
However the script does not close, sending the kill signal closes the script, but there is still a Perl process active which must also be killed otherwise the pool folder remains locked.
If you have observed a similar problem, please comment, in case it is just my installation (which is from the Git HEAD).
Updated by okurz over 6 years ago
- Category set to Support
- Status changed from New to In Progress
- Assignee set to okurz
Obviously, when you KILL rather than TERM you will have to deal with leftovers.
The worker code itself tries to handle this: https://github.com/os-autoinst/openQA/blob/master/lib/OpenQA/Worker/Jobs.pm#L63
How long did you wait before sending KILL?