|
From: Leif M. <le...@ta...> - 2006-04-06 07:08:47
|
Anat,
Currently, all restarts are viewed the same way by the Wrapper. The
thinking is that
something that happens shortly after startup is most likely a
configuration or permanent
problem, where as something that happens after the application has been
running for a
while is temporary and can be resolved by restarting.
The wrapper.successful_invocation_time property defines this line.
As you need to call restart once on startup, the max failed
invocations needs to be
2. Then you will need to define a wrapper.successful_invocation_time to
prevent the
count from being reset. The example below sets this time to 5 years.
wrapper.max_failed_invocations=2
wrapper.successful_invocation_time=157788000
I can modify the wrapper.successful_invocation_time property so that
a value of
0 will be interpreted as infinite time. Would this make sense?
How exactly would you like the Wrapper to behave?
Cheers,
Leif
Anat Halpern wrote:
> Thanks for your help, Leif.
>
> The first option is problematic, as the crash is not time-dependent.
> As for the option of using disable.restarts, I have to be able to call
> WrapperManager.restart explicitly, at least once, (this is my
> workaround for the GUI problem we discussed before - I restart the
> application after I'm done with the GUI).
> So to make this clear, the problem is: explicit restarts are required,
> but I'd still like to limit number of restarts on account of failure
> in the run.
>
> According to the description of max_failed_invocations: " Maximum
> number of times that the Wrapper will attempt to restart the JVM if
> each attempted invocation exits abnormally or...". In my case, the JVM
> exists abnormally each time, but still the time factor is considered.
> Is it possible to disregard the time and consider only the
> success/failure of the run? If not, I think the documentation should
> be changed a bit.
>
> Thanks a lot,
> Anat
>
> Leif Mortenson wrote:
>> Anat,
>> If you use the wrapper.max_failed_invocations=1 property, you
>> will also need to set the wrapper.successful_invocation_time property to
>> a large value as you said.
>> http://wrapper.tanukisoftware.org/doc/english/prop-max-failed-invocations.html
>>
>> http://wrapper.tanukisoftware.org/doc/english/prop-successful-invocation-time.html
>>
>>
>> Good news is that as of 3.2.0, there is a better way:
>> http://wrapper.tanukisoftware.org/doc/english/prop-disable-restarts.html
>>
>> The only difference from your request is that all restarts are
>> treated the
>> same way. This is true with the above properties as well.
>>
>> Cheers,
>> Leif
>>
>> Anat Halpern wrote:
>>> Hi all,
>>> I'd like to disable all restarts except for explicit calls to
>>> WrapperManager - is this possible?
>>>
>>> I've also tried to use the wrapper.max_failed_invocations, and it
>>> did not work as I expected it to - the application kept running for
>>> a while before crashing, so it was considered a successful
>>> invocation. Is there any way of making the wrapper ignore the
>>> successful_invocation_time property (except setting it to a really
>>> large number)?
>>>
>>> The problem I'm trying to deal with is that the application runs,
>>> and then, depending on the input, crashes. The wrapper handled this
>>> situation by restarting the application over and over, despite the
>>> wrapper.max_failed_invocations=2.
>>> Any suggestions?
>>>
>>> Many thanks,
>>> Anat
|