support batch job callbacks