This makes it hard to do a clean restart from Capistrano. Has anyone
solved/experienced this problem?
Brandon
I have not been happy with daemon functionality in any version of
delayed_job. For a time I thought ghazel's fork of daemons was
working well, but even with it we ended up with workers no dying and
doubling up.
runit is what both Shopify and ENTP (Tender) use for managing daemon
processes. Yesterday, we finally took the dive and moved to using
runit for managing workers. So far everything is good. Information
for configuring DJ for runit is sparse, but I'm going to blog some
stuff this weekend.
Best regards,
Michael Guterl
That would be great. Please post back here when you blog about it.
I agree that the current daemon is not reliable. I hope to rewrite it using the same techniques as unicorn uses.
Brandon
I am using the current Daemons way of managing workers for an app in
production and have been unhappy with it for a while now.
I am 50% of the way through writing a way to daemonize Delayed Job
with a parent/child monitoring architecture similar to Unicorn. Give
me a couple of days and I will put my work on github for you to look
through.
Thanks
Josh
On Jan 16, 3:08 pm, Brandon Keepers <bran...@opensoul.org> wrote:
> Michael,
>
> That would be great. Please post back here when you blog about it.
>
> I agree that the current daemon is not reliable. I hope to rewrite it using the same techniques as unicorn uses.
>
> Brandon
>
> On Jan 16, 2010, at 8:34 AM, Michael Guterl wrote:
>
>
>
> > I have found that this approach is unreliable too. You end up killing
> > a worker who isn't finished and it leaves their job locked so no one
> > else can pick it up.
>
> > I have not been happy with daemon functionality in any version of
> > delayed_job. For a time I thought ghazel's fork of daemons was
> > working well, but even with it we ended up with workers no dying and
> > doubling up.
>
> > runit is what both Shopify and ENTP (Tender) use for managing daemon
> > processes. Yesterday, we finally took the dive and moved to using
> > runit for managing workers. So far everything is good. Information
> > for configuring DJ for runit is sparse, but I'm going to blog some
> > stuff this weekend.
>
> > Best regards,
> > Michael Guterl
>
> I agree that the current daemon is not reliable. I hope to rewrite it using the same techniques as unicorn uses.
<snip>
I am extremely interested in a Unicorn style backend. We've been
using Unicorn for a couple months and it has been amazing.
Best regards,
Michael Guterl
I may have spoke too soon, it seems that we have the same issue with
the long running rake task too. It seems like eventually the process
stops responding to all signals (except KILL obviously). I am
completely perplexed as to why this is happening. At least when runit
is managing the process duplicates do not occur tho, so that is one
plus.
Best,
Michael Guterl