add worker_int callback

fix #516