Mailing List Archive

Cherokee restarts a spawning Information Source with subsequent requests
I thought I had seen something about this previously, but can't seem to
find it now.

Essentially, on my Cherokee 1.2.101 instance (RHEL 6, x86_64), I have an
Information Source configured with a local interpreter, and this hooked up
to a directory behavior via a reverse proxy handler. Upon startup of
Cherokee, the local interpreter has not yet been spawned. A request comes
in for the given directory and Cherokee spawns the local interpreter - this
spawning takes about 20 seconds or so to load fully. During this time, if
another user comes in and attempts to load a URL against the same behavior,
the spawning process appears to be killed and the spawning starts over
again.

Is this a known issue with Cherokee?

As a solution, I know I could make the process run separately to Cherokee,
but it would be nice the keep configured in this way.

Thanks.
Re: Cherokee restarts a spawning Information Source with subsequent requests [ In reply to ]
Could you potentially increase the timeout in Cherokee to something longer
than 20 seconds, or does this not resolve the issue?

Alternatively is it possible to make your spawned process do initialisation
in the background, so that the spawned process starts immediately but
returns a "Please wait" message while it initialises in the background?

On Wed, Feb 22, 2012 at 8:56 AM, David Beitey <david@davidjb.com> wrote:

> I thought I had seen something about this previously, but can't seem to
> find it now.
>
> Essentially, on my Cherokee 1.2.101 instance (RHEL 6, x86_64), I have an
> Information Source configured with a local interpreter, and this hooked up
> to a directory behavior via a reverse proxy handler. Upon startup of
> Cherokee, the local interpreter has not yet been spawned. A request comes
> in for the given directory and Cherokee spawns the local interpreter - this
> spawning takes about 20 seconds or so to load fully. During this time, if
> another user comes in and attempts to load a URL against the same behavior,
> the spawning process appears to be killed and the spawning starts over
> again.
>
> Is this a known issue with Cherokee?
>
> As a solution, I know I could make the process run separately to Cherokee,
> but it would be nice the keep configured in this way.
>
> Thanks.
>
> _______________________________________________
> Cherokee mailing list
> Cherokee@lists.octality.com
> http://lists.octality.com/listinfo/cherokee
>
>
Re: Cherokee restarts a spawning Information Source with subsequent requests [ In reply to ]
I've tried setting the process 'spawning timeout' at 30 seconds but doesn't
appear to have any effect. Similarly, my connection timeout in general is
set to 60 seconds for this behavior. Essentially, when the a new, separate
request comes in whilst the process is spawning, the original process is
killed and a new process spawns.

As for the 2nd suggestion, perhaps, but the resulting process is a separate
Ruby application I know nothing about. I'll change things to have an
init.d script to start the application on system boot instead.

Beyond this, my thoughts were that Cherokee could 'wait' on any requests
coming in whilst an interpreter process is spawning until either the
process is ready or else the timeout elapses. In a similar vein, I've also
noticed that for the first request that comes in for a non-running
interpreter will instantly return a 503 service unavailable error, whilst
the process has actually still starting up. It seems Cherokee should obey
the spawning timeout and hold the connection until then. Is this possible?


On Wed, Feb 22, 2012 at 6:17 PM, Daniel Lo Nigro <lists@dan.cx> wrote:

> Could you potentially increase the timeout in Cherokee to something longer
> than 20 seconds, or does this not resolve the issue?
>
> Alternatively is it possible to make your spawned process do
> initialisation in the background, so that the spawned process starts
> immediately but returns a "Please wait" message while it initialises in the
> background?
>
> On Wed, Feb 22, 2012 at 8:56 AM, David Beitey <david@davidjb.com> wrote:
>
>> I thought I had seen something about this previously, but can't seem to
>> find it now.
>>
>> Essentially, on my Cherokee 1.2.101 instance (RHEL 6, x86_64), I have an
>> Information Source configured with a local interpreter, and this hooked up
>> to a directory behavior via a reverse proxy handler. Upon startup of
>> Cherokee, the local interpreter has not yet been spawned. A request comes
>> in for the given directory and Cherokee spawns the local interpreter - this
>> spawning takes about 20 seconds or so to load fully. During this time, if
>> another user comes in and attempts to load a URL against the same behavior,
>> the spawning process appears to be killed and the spawning starts over
>> again.
>>
>> Is this a known issue with Cherokee?
>>
>> As a solution, I know I could make the process run separately to
>> Cherokee, but it would be nice the keep configured in this way.
>>
>> Thanks.
>>
>> _______________________________________________
>> Cherokee mailing list
>> Cherokee@lists.octality.com
>> http://lists.octality.com/listinfo/cherokee
>>
>>
>