implement worker interrupt