[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] Condor, Windows, and OLE automation.

> Unfortunately, the only mechanism we presently have for doing
> Has anyone done this before, though?  Are we going to regret
> the decision, or
> find that the process stalls out and causes grief to us?

Not with PowerPoint, but we do it with Excel. We have a power estimator
that's essential a glorified Excel spreadsheet and part of the
regression testing that occurs for our full product line involves
testing that spreadsheet. We use Excel, OLE and Condor with the
USE_VISIBLE_DESKTOP setting to do it. With reasonable results.

The caveats are:

1. Don't run Remote Desktop or VNC on the machine (don't even run the
services, let alone connect to them with these technologies) when
USE_VISIBLE_DESKTOP is in use. This may be fixed in 7.2.x, but in 7.0.x
and earlier Windows + VNC + USE_VISIBLE_DESKTOP would eventually lead to
machines that were hung up. We reboot these machines after every 10th
job just to be safe.

2. Don't run more than one concurrent job on a machine like this. For
someone reason 2 Excel's with OLE automation = hang ups every time for
us. We are on an older copy of MS Office here: 2003. Maybe it's not so
bad in a newer version.

> In some cases the driver process dies, because PowerPoint via
> OLE automation
> is not only slow and annoying, but excessively stupid and
> prone to throwing
> fatal errors that are very, very difficult to recover from
> automatically.
> Can Condor be configured to detect that the Perl script
> driving the process
> has failed, and forcibly shut down the PowerPoint process?

Maybe. If I kill the job with condor_rm all the processes get cleaned up
properly by Condor. No problems there. As for timing out: you can tell
Condor to kill your job if runs for too long. You can try to set it up
to kill if LoadAvg drops, but that seems Fraught With Peril(tm) if you
ask me. You could fork a watch process that runs a monitor thread
that'll shut the job down if it thinks things have hung up. That's easy
enough to do from Perl.

> This /might/ involve closing PowerPoint while a presentation
> is open and
> modified, so triggering a dialog prompt for "save changes",
> if a normal close
> of the software is attempted.
> We can probably work around the last issue manually, by
> wrapping our process
> in something that does brutally kill PowerPoint, but it would
> be nice if we
> didn't have to. :)

For pop ups we use WinCron. The free version will run on the currently
logged-in desktop and it can be configured to watch for dialogs and
press buttons in them for you. Pretty nifty little tool.

- Ian

Confidentiality Notice.
This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution,  or copying  of this message, or any attachments, is strictly prohibited.  If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments.  Thank you.