Как реализовать выполнение кода, когда одна из функций в нём исполняется не сразу?
внутри анонимной функции нет доступа к изначальным параметрам (в данном случае к $url)
Эмм? www.php.net/manual/en/functions.anonymous.php
function get_url_without_tags($url) {
    task::add('download_page', $url, function ($content)  use ($url)  {
        $content_without_tags = remove_tags($content);
        return $content_without_tags;
    });
}

Сделайте вторую очередь на парсинг результатов и туда добавляйте задания в обработчике загрузки.