Integrity not running builds for Passenger / Apache stack. #156

Closed
JDutil opened this Issue Feb 23, 2012 · 4 comments

Projects

None yet

3 participants

@JDutil
Contributor
JDutil commented Feb 23, 2012

The Integrity App is working fine for me in my OSX dev environment. I've deployed an instance to a Ubuntu server for my production setup, and I'm able to setup a new project. Once I call a manual build to attempt to test a first build the build record is created, but the build is never run.

I've added a bunch of logging to my application and have been able to track the point of failure to when the build job is added in ThreadPool#add It appears everything is running fine to get the job added to the build pool, but that the pool isn't actually running anything despite being spawned and no exceptions being raised.

The environment I'm running is Ubuntu 11.04, RVM & Ruby 1.9.2-p290, Passenger / Apache, and running Integrity from master w/Sqlite3 and ThreadedBuilder.

UPDATE:

I found an article indicating this may be an issue with using Apache & Passenger not loading the Ruby environment properly. This appears to be the case since in dev I'm just running bundle exec rackup, and in production I was trying to use Passenger. So on the production machine I started an instance of Integrity using bundle exec rackup, which does indeed actually start running the builds except that it didn't properly find the bundler gem as it should have. I'm sure I can track down a fix for that somehow.

So essentially the issue I am having is with running Integrity with Passenger rather than using rackup. The article that pointed me in this direction didn't work with their solution of getting Ruby in the Apache environment though. Can anyone help me determine how to properly run Integrity with Passenger?

@JDutil
Contributor
JDutil commented Feb 24, 2012

Well the issue is with the way Passenger handles threads. By switching to the DelayedBuilder I was able to use Passenger for the web server. The documentation is quite outdated for setting up Integrity though do to bugs I've come across. I'll be trying to submit some updates to documentation and bug fixes for the issues I've come across.

@JDutil JDutil closed this Feb 24, 2012
@grahamc
Member
grahamc commented Feb 27, 2012

Hi @jdutil, I really would appreciate your help with the documentation for getting that running. I'm glad it worked out!

Graham

@JDutil
Contributor
JDutil commented Feb 27, 2012

Would you be opposed to moving the docs to the README? It may not be great to have 2 places to update, but since the website isn't currently being updated it would be much nicer for people to be able to read the README instead of hunting for documentation. That way it also will get formatted nice when viewing it on Github.

@richmeyers
Contributor

Thread pool for threaded builder is created when init.rb is processed, which I'm assuming is before passenger forks the application from the spawn process. Thus the thread pool does not survive the fork.

As a side note, I could not get sqlite to work with passenger either - it said "could not open database file" but did not bother stating the reason. Tested with mysql.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment