Por lo general, la solución para este tipo de problemas sería integrar un bus de mensajes en su sistema. Podría considerar un producto como Beanstalkd . Esto requiere instalar software en su servidor. Supongo que esta sugerencia se llamaría "usar una biblioteca externa".
Si puede acceder al servidor de implementación y puede agregar cronjob (o tal vez un administrador de sistemas) podría considerar un cronjob que hace una llamada php-cli a un script que lee trabajos de una cola de trabajo en su base de datos que está llena por el controlador método.
Si no puede instalar el software en el servidor que está ejecutando, podría considerar usar una solución SAAS como Iron.io para alojar la funcionalidad del bus por usted. Iron.io está usando lo que se llama una cola de inserción . Con una cola push, el bus de mensajes realiza activamente una solicitud (push) a los oyentes registrados con el contenido del mensaje. Esto podría funcionar ya que no requiere que hagas una solicitud curl.
Si nada de lo anterior es posible, sus manos están atadas. Otra publicación que es bastante relevante sobre el tema:Procesamiento de PHP retrasado y escalable