On Mon, Nov 9, 2009 at 9:01 AM, Etienne Gaudrain <[email protected]> wrote:
> Hi Lucas,
>
> Here are two things you may try :
>
> - use a pipe connection instead of a socket connection, and see if you still
> lost connection
>
ok. lets try the pipe..
What is the difference between socket and a pipe as far as oo? Can I
start multiple instances of oo with different pipe names and then use
these pipe names for multiple programs that start around the same
time?
doing....
changed the startup from
/usr/bin/openoffice -accept="socket,host=localhost,port=8100;urp;"
-norestore -nologo -headless -nofirstwizard
to
/usr/bin/openoffice -accept="pipe,name=localhost_app;urp;" -norestore
-nofirstwizard -nologo -headless
Now in the code I did:
import uno
from com.sun.star.beans import PropertyValue
from com.sun.star.connection import NoConnectException
localContext = uno.getComponentContext()
resolver =
localContext.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver",
localContext)
context = None
context =
resolver.resolve("uno:pipe,name=localhost_app;urp;StarOffice.ComponentContext")
desktop =
context.ServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop",
context)
but still get the connection lost....no change...(I wonder if I can
use the NoConnectException somehow??)
troubleshooting....
I've tried recreating the cursor every time the new section/action
needs to be done. This has improved the process but still 1/5 fail in
headless.
What I noticed is that if headless process crashes, I can start the
non-headless process and that will finish just fine, so it seems as
headless startup will lose connection more often then the non headless
one.
Since I start and stop oo from the script I really need to get the
headless package to work properly.
> - check that the OOo process is still running. Actually, you may want to use
> the subprocess module instead of the os one (you just be loosing
> compatibility with Python 2.3). You would be able to grab errors from the
> stderror channel of your process. I don't know if it throw any message
> there, but in case it does, you'd be able to read it.
There are no error messages when oo crashes. If I start the oo on the
socket then process is still running but its no longer listening on
the socket.
This will show a lot of soffice processes after few days of running
the process in cron.... ps -ea | grep soffice
But this command will show that none of them are listening
anymore...netstat -atpen | grep soffice
As far as pipe, i see its closing right now but I would need few days
to see if the process closes when using cron?
Ideas?
Thanks,
Lucas
>
>
> Regards,
> -Etienne
>
>
> Lukasz Szybalski wrote:
>>
>> On Mon, Nov 9, 2009 at 2:29 AM, Kay Ramme <[email protected]> wrote:
>>
>>>
>>> Hi Lukasz,
>>>
>>> this is a Python question, right?
>>>
>>> Typically connections die, because one of the hosts get disconnected or
>>> one
>>> of the applications do terminate.
>>>
>>> Do you have a hint, which case is yours?
>>>
>>>
>>
>> It seems as there is a exception in openoffice services. Service
>> terminates without sending back an error message, and its no longer
>> listening on the port.
>>
>> When that happens I get a message on the next oo call that the
>> connection was lost. So at this point I'm looking for a way for oo to
>> tell me that it failed, or look at some log that oo? creates to see
>> why it failed? Is there a log for the headless services oo is running?
>>
>> Thanks,
>> Lucas
>>
>>
>>
>>>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]