sync job is also a possibility
mq should intercept SIGTERM to clean up gracefully
refactor job assigning
pool shutdown gracefully