cfexecute time out
I'm running CF9 dev edition - using the built in webserver, on win XP sp3 I don't seem to be able to get a command line to run from CF...
Error looks like this: Timeout period expired without completion of C:\Program Files\Vis\vis.exe
If I run this from the CMD - it works fine... C:\Program Files\V开发者_如何学Gois\vis.exe "C:\Documents and Settings\me.POV-ISP\My Documents\actX.vjb"
trying to run it from CF using this code - (or many other variations) and it times out.
<cfexecute name = "C:\Program Files\Vis\vis.exe"
arguments = "C:\Documents and Settings\me.POV-ISP\My Documents\actX.vjb"
variable="result" timeout="600" errorVariable="errorv"/>
I understand from reading other threads that it MAY be permissions, but WHAT should the permissions be? I installed CF as me - it's run locally, thru my account, same as me running CMD.
thoughts.???
The first thing I would try is change your path from C:\documents and settings ...(This is actually a short cut file/pointer in Windows 7 and not a true path) and use c:\users\m.pov-isp\Documents\actX.vjb). Just in case ColdFusion can't resolve the pointer in the system environment.
Failing that, it's either Syntax or permissions right?
To rule out syntax, I'd run this, slightly modified for windows 7, stock example from live docs:
<cfexecute name = "C:\Windows\System32\NETSTAT.EXE"
arguments = "-e"
outputFile = "C:\Temp\output.txt"
timeout = "1">
</cfexecute>
If the output file shows up, you know it's the syntax. If it doesn't we can attack the service...
Open up your services panel (right click my computer -> manage -> services and applications -> services).
Select the ColdFusion 9 Application server -> properties
Change the Logon account to your own. This should give ColdFusion access to your Documents and all of the other resources you can reach as a user. You also may want to try outputting to a folder on the C drive that will be less likely to have conflicting permission issues.
Best of luck. -Dave
You can also try overridding any setting in the individual file you're making with the following command
<cfsetting requesttimeout = "10000">
Where, 10000 is 10000 seconds. You might want to stick to 600 seconds (10 minutes) and move up from there. I would put it before the cfexecute. You can try using it alone first, or in conjunction with the cfexecute timeout.
Let us know how it goes!
If none of the approaches above works, get hold of SysInternals Process Monitor and run it whilst running the request. Process Monitor generates thousands of events (filtering them down is very necessary), including all file and registry access attempts and their success. You may well find a clue in the logging it does.
精彩评论