add timeout setting to launchWorker