Почему не таким?
if (если я дочерний) {} else {}. При этом, в воркерах мне все эти ресурсы и коннекты не понадобятся. Но после их отработки понадобятся вновь.$gearmanClient->doBackground('task1', 'task1_1');, а дальше только крутиться в while, дожидаясь когда все задачи будут выполнены, собрать результаты из memcache и работать с ними не теряя окружения.В общем я бы вам посоветовался поближе разобраться с gearmanДа, мне и самому бы хотелось.
while (хотя бы один таск ещё выполняется) { sleep (1); }, затем собирает данные и работает дальше. Данные воркерам можно отдавать через memcache и через него же принимать результаты.