Apache/Passenger rufus cron job werkt niet

Ik heb een Rails-app op Apache/Passenger. Ik heb een rufus cron-taak die op de achtergrond wordt uitgevoerd en verzendt meldingen via e-mail. Wanneer ik de app in ontwikkeling op de WEBrick-server gebruik, worden de e-mails verzonden zoals ze zouden moeten worden verzonden. Wanneer ik de app in productie op Apache/Passenger start, worden de e-mails niet verzonden. De klasse die het werk doet is in config/initializers/task_scheduler.rb

require 'rubygems'
require 'rufus/scheduler'

Rails.logger.info "Starting the scheduler"

## to start scheduler
scheduler = Rufus::Scheduler.start_new


## Every day at 6 AM, send email for projects that haven't been updated in 14 days
Rails.logger.info "Adding the Stale Email job to the scheduler"
scheduler.cron("* * * * *") do
  Rails.logger.info "Running every minute"
  projects = Project.stale
  projects.each do |project|
    Rails.logger.info "Inside the loop"
    days = (Time.now - project.updated_at).to_i/1.day
    ProjectMailer.stale(Jetway::Application.config.stale_email, project, days).deliver
    Rails.logger.info "Sent stale email for project #{project.name}; it's #{days} days stale."
  end
end

Op dit moment draait het elke minuut, dus ik kan debuggen. Hier is mijn uitvoer van een logbestand.

Started GET "/assets/availity_spinner.gif" for 99.44.242.76 at 2012-06-23 21:46:28 -0400
Served asset /availity_spinner.gif - 304 Not Modified (0ms)
Starting the scheduler
Adding the Stale Email job to the scheduler

U ziet de loginstructie en hoe ver we in de code komen. Ik heb in blogs gelezen dat Passenger threads doodt, vooral rond cron-jobs. Ik zit vast en probeer een richting te vinden om dit probleem te achterhalen. Kunt u mij in de juiste richting wijzen?

0

1 antwoord

Voeg de onderstaande regels toe aan je apache2 config en herstart je apache2-server

RailsAppSpawnerIdleTime 0
PassengerMinInstances 1
2
toegevoegd