add cancel job func