Работа в фоновом режиме с веб-приложения

Я хочу планировать и запускать много заданий в фоновом режиме во время выполнения веб-приложения.
Веб-приложение построено поверх Symfony 2 и Doctrine 2.

Я знаю, что обработка заданий может быть выполнена с помощью библиотек, таких как Resque или Sidekiq. Однако эти библиотеки и мое приложение написаны на разных языках, поэтому мне интересно, как я могу запускать задания Sidekiq, написанные на Ruby, которые должны интегрироваться с моим приложением, написанным на PHP.

Я прошу себя, если единственный способ сделать это – переписать большой объем кода для запроса базы данных с PHP на рубин, чтобы выполнить эту работу в Sidekiq / Resque.

Вы взглянули на Гирмана ? Он позволяет запускать фоновое задание точно так же, как Sidekiq, но это язык агностик. Например, вы можете использовать PHP для всего, или вы можете ставить в очередь задания на PHP и иметь фактических работников, написанных на Ruby.

Я использовал Resque в нескольких проектах, используя https://github.com/chrisboulton/php-resque и https://github.com/chrisboulton/php-resque-scheduler

Он работал очень хорошо, я даже сделал комплект Symfony, чтобы работать с ним очень просто. https://github.com/mcfedr/resque-bundle – поддерживает фоновые задания и запланированные задания. Гораздо мощнее, чем использование cron.

Основная причина выбора Resque над другими опциями заключается в том, что он работает на Redis, который легко развернуть и масштабировать. В AWS я использую управляемые экземпляры Elasticache для полной настройки без проблем.