removed problematic `set_time_limit()` call and put a check on `ignore_user_abort()`