convert queue worker to async