Если я верно понял, то схема такова:
Producer (1-й PHP скрипт) -> MQ broker -> Consumer (2-й PHP скрипт)
Это обычная микро-сервисная архитектура. Плюс каждого сервиса в том, что каждый из них не хранит состояние. То есть, производителя "не интересует" судьба отправленной задачи и он не ведет никакого учета по тому что и кому было отправлена задача.
Если не хочется брать тяжеловесные брокеры очереди сообщений, то можно взять как посоветовал
Дмитрий Шицков или даже ZeroMQ.
Ту же задачу можно решить при помощи создания нового потока в основном потоке программы и ожидания окончания выполнения потока, выполняющего задачу. В случае Го вместо потока создается го-рутина (просто более легковесный вариант потока) - смысл тот же.
Чтобы не сильно нагружать систему, используют ограниченное количество потоков-потребителей.
Добавлено
В случае Го, если не нужно ожидать окончания, то можно отправить задание в канал. Потребители канала должны забирать задания, иначе канал может заблокироваться (по заполнению буфера канала задач или при каждой новой задаче, в зависимости от конфигурации канала).