found this to be a bit more robust at cleaning up workers and reporting errors