From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Rush + Autodesk Cleaner?
   Date: Fri, 30 Mar 2007 03:27:24 -0400
Msg# 1517
View Complete Thread (12 articles) | All Threads
Last Next
Luke Cole wrote:
OK, I've updated my code as you suggested, and it seems to submit OK now, so when I tried it out originally, there must have been something wrong with my escaping in the system() call.

	Good..

I still encounter the issue where the rush job runs forever however, even though the cleaner render is finished according to the output in the log file - I just checked the windows task manager on the machine and have noticed that "Cleaner XL.com" is still running, so this would explain why the rush job is still going. I'm not sure why Cleaner is not exiting when it is launched from the rush perl script - when I run the command ("C:\Program Files\ etc) directly in the win32 console, it exits after the render is done.

	OK, now that we're sure cleaner is the one that's hanging,
	I have a suggestion. It's going to sound silly, but change
	all your I: specifications to a UNC equivalent if possible.

	Assuming the I: drive is a network drive and has a UNC equivalent
	(and is not a SAN or local drive), be careful with the double
	slashes of the UNC; you'll need to use \\\\ to get a double slash,
	but just use singles for the single slashes, eg:

    my $err = system('"C:\Program Files\Autodesk\Cleaner XL 1.5\Cleaner XL" '.
                     '/I \\\\someserver\somevol\TVC_Tools\CleanerToolkit\profiles\input\DV_PAL_4x3.ip '.
                     '/O \\\\someserver\somevol\TVC_Tools\CleanerToolkit\profiles\output\3GP_PAL_4x3.opt '.
                     '/D \\\\someserver\somevol\TVC_Tools\CleanerToolkit\renders '.
                     '/sources \\\\someserver\somevol\TVC_Tools\CleanerToolkit\test_data\test.mov');

	I know it looks weird, but the reasoning is that '\\' *even*
	inside single quotes is still a special case. So you only
	double up on the escaping for the first slashes, not the rest.

Something I noticed when I run the Cleaner command in the windows console - it launches the Cleaner GUI and then closes it all down again when it exits after the render, however this does not happen when I submit through rush, so I am guessing that this output is redirected somehow.

	Yes; windows services are assigned a 'virtual desktop'
	where stuff like that gets redirected as you say.
	They really need to get rid of all GUI stuff though
	for their command line app -- that can cause lots of
	trouble.

Additionally, one other thing that I have noticed is that if I now try to run the modified perl script directly in the windows console (as opposed to submitting it via rush), I now receive the Cleaner error dialog that I referred to before. This does not seem to occur however when I launch the job from rush, so I guess it isn't really a problem. Weird.

	If you'd like to try to replicate outside of rush, and
	assuming the above UNC technique either doesn't help
	or is not relevant, try this:

		1) Enable the Windows telnet service on this machine. See:
		   WINXP TELNET: http://www.seriss.com/rush-current/misc/windows-telnet.html#WinXP
		   WIN2K TELNET: http://www.seriss.com/rush-current/misc/windows-telnet.html#Win2K
		   WIN2K3 TELNET: http://www.seriss.com/rush-current/misc/windows-telnet.html#Win2K3

		2) Telnet into the machine, and run your command.

	Does it hang? If so, you have a way to replicate the problem
	for Autodesk.

	And while you're at it, definitely report two bugs to Autodesk:

	    a) Having spaces in executable names is just really bad practice.

	    b) Using front slashes for option flags is also REALLY BAD.
               Besides making porting impossible, it disables the use
               of front slash UNC pathnames, which IS supported by Windows.

	Regarding (b), just because Microsoft made that mistake in 1985
	with DOS (which we now have to live with) doesn't mean Autodesk
	should follow their lead in 2007 to make life doubly miserable
	for command line scripting. GRR!

--
Greg Ercolano, erco@(email surpressed)
Rush Render Queue, http://seriss.com/rush/
Tel: (Tel# suppressed)
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)

Last Next