Jobs processing in background from web application

Stefano picture Stefano · Jan 23, 2014 · Viewed 8.2k times · Source

I want to schedule and run a lot of jobs in the background during a web application execution.
The web app is built on top of Symfony 2 and Doctrine 2.

I know the job-processing can be done with libraries like Resque or Sidekiq. However, these libraries and my application are written in different languages, so I am wondering how I can run Sidekiq jobs written in Ruby which should integrate with my app written in PHP.

What I'm asking myself is if the only way to do this is rewriting a large amount of code to query the database from PHP to ruby, to be able to execute the job in Sidekiq/Resque.

Answer

Michael S. picture Michael S. · Jan 23, 2014

Have you taken a look at Gearman? It lets you run background jobs just like Sidekiq, but it's language agnostic. For example, you can use PHP for everything, or you can queue up jobs in PHP and have the actual workers written in Ruby.