simple worker queue for asynchronous background tasks