add onworkererror support