Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: paddor <paddor <at> gmail.com>
Subject: Background jobs with #fork
Newsgroups: gmane.comp.lang.ruby.unicorn.general
Date: Thursday 12th April 2012 17:36:25 UTC (over 4 years ago)
Hi

I've migrated from Passenger to Unicorn about a week ago. It's great.
Great transparency and management, thanks for this great software!

A few of my Rails applications start background jobs using
Kernel#fork. Of course, the ActiveRecord connections are closed and
reopened again in the parent and child processes. The child process
also does its job.

Unfortunately, it seems that the parent (a Unicorn worker) waits for
the child (background job) to finish before serving any new requests.
Process.detach is done in the child. Process.setsid is not done. The
child's STDOUT, STDERR and the Rails logger are redirected to their
own files right after forking.

Software used:
ruby 1.9.1p376
Rubygems 1.8.17
Linux 2.6.16.60-0.21-smp (SUSE 10.2)
unicorn 4.2.1
nginx 0.8.53

The problem persists even when multiple workers are started. And the
problem was not present in the old setup with Passenger.

My question: Does Unicorn somehow check/wait for child processes
forked by the worker processes?

Thanks in advance for your help.

-- 
paddor
_______________________________________________
Unicorn mailing list - [email protected]
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying
 
CD: 3ms