I have a CommandScript job that works completely fine and as expected which launches ‘vrayspawner.exe’. When I set it to interruptible it still works completely fine until I try and delete it from Deadline Monitor. I get the following error and I am not sure what it means. It will leave ‘vrayspawner.exe’ running on the machine and will not accept any new jobs until I manually kill the ‘vrayspawner.exe’. If the job is not interruptible it continues to work as expected when deleting it from Monitor.
....
Scheduler Thread - Checking for jobs to interrupt this job
Scheduler Thread - Checking for jobs to interrupt this job
Scheduler - Could not check for a higher priority job because: The given key was not present in the dictionary. (System.Collections.Generic.KeyNotFoundException)
Scheduler Thread - Unexpected Error Occured
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Exception Details
Exception -- Error in file: \\dsapp\DeadlineRepository\limitGroups\999_001_999_1b0e3b2a.limitGroup
Exception.Data: ( )
Exception.TargetSite: System.Object ReadXmlFile(System.String, System.Type, Int32, Int32)
Exception.Source: franticx
Exception.StackTrace:
at FranticX.Xml.XmlUtils.ReadXmlFile(String fileName, Type type, Int32 attempts, Int32 millisecondsBetweenAttemps)
at Deadline.Storage.LimitGroupStorage.LoadLimitGroup(String limitGroupName, Boolean loadStubData)
at Deadline.Storage.Caches.LimitGroupStorageCache.OnFetchValueViaKey(Object key)
at FranticX.Collections.KeyValueCache.GetValueViaCacheEntry(CacheEntry cacheEntry)
at FranticX.Collections.KeyValueCache.GetValueViaKey(Object key)
at Deadline.Storage.Caches.LimitGroupStorageCache.GetLimitGroup(String limitGroupName, DateTime repositoryDateTime)
at Deadline.Scheduling.SchedulerUtils.ReturnReleasePercentageLimitGroupStubs(DeadlineController deadlineController, Double progress, SlaveState& slaveState, Boolean verbose)
at Deadline.Slaves.SlaveSchedulerThread.RenderTasks()
at Deadline.Slaves.SlaveSchedulerThread.ThreadMain()
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
This definitely looks like a Deadline bug. My guess is that the exception that’s thrown for not finding that key prohibits the function from actually stopping things properly.
Looks like it has to do with the limit groups for some reason… Are you specifying the ‘none’ or similar group when submitting the CommandScript job? I’m on a loaner machine at the moment, so I’m not sure if you can specify the group or not.
Started the job. Then tried to delete it and got this. No custom groups or anything were specified.
[code]---- January 17 2012 – 05:17 PM ----
Scheduler Thread - Synchronizing job files
Scheduler Thread - Synchronization time for job files: 0 s
Scheduler Thread - Synchronizing plugin files
Scheduler Thread - Synchronization time for plugin files: 15.625 ms
Constructor: CommandScript
0: Task timeout is disabled.
0: Loaded job: Notepad Test (999_050_999_08ff264e)
0: INFO: StartJob: initializing script plugin CommandScript
0: INFO: About: Command Script support for Deadline
0: Plugin rendering frame(s): 0
0: INFO: Checking line:“C:\Windows\notepad.exe”
0: INFO: Executable found: C:\Windows\notepad.exe
0: INFO: Arguments found:
0: INFO: Stdout Handling Enabled: False
0: INFO: Popup Handling Enabled: False
0: INFO: Using Process Tree: True
0: INFO: Hiding DOS Window: True
0: INFO: Creating New Console: False
0: INFO: Render Executable: “C:\Windows\notepad.exe”
0: INFO: Render Argument:
0: INFO: Startup Directory: "c:"
0: INFO: Process Priority: BelowNormal
0: INFO: Process is now running
Scheduler Thread - Checking for jobs to interrupt this job
Scheduler Thread - Checking for jobs to interrupt this job
Scheduler Thread - Checking for jobs to interrupt this job
Scheduler Thread - Checking for jobs to interrupt this job
Scheduler Thread - Checking for jobs to interrupt this job
---- January 17 2012 – 05:18 PM ----
Scheduler Thread - Checking for jobs to interrupt this job
Scheduler Thread - Checking for jobs to interrupt this job
Scheduler Thread - Unexpected Error Occured
Exception Details
Exception – Error in file: \dsapp\DeadlineRepository\limitGroups\999_050_999_08ff264e.limitGroup
Exception.Data: ( )
Exception.TargetSite: System.Object ReadXmlFile(System.String, System.Type, Int32, Int32)
Exception.Source: franticx
Exception.StackTrace:
at FranticX.Xml.XmlUtils.ReadXmlFile(String fileName, Type type, Int32 attempts, Int32 millisecondsBetweenAttemps)
at Deadline.Storage.LimitGroupStorage.LoadLimitGroup(String limitGroupName, Boolean loadStubData)
at Deadline.Storage.Caches.LimitGroupStorageCache.OnFetchValueViaKey(Object key)
at FranticX.Collections.KeyValueCache.GetValueViaCacheEntry(CacheEntry cacheEntry)
at FranticX.Collections.KeyValueCache.GetValueViaKey(Object key)
at Deadline.Storage.Caches.LimitGroupStorageCache.GetLimitGroup(String limitGroupName, DateTime repositoryDateTime)
at Deadline.Scheduling.SchedulerUtils.ReturnReleasePercentageLimitGroupStubs(DeadlineController deadlineController, Double progress, SlaveState& slaveState, Boolean verbose)
at Deadline.Slaves.SlaveSchedulerThread.RenderTasks()
at Deadline.Slaves.SlaveSchedulerThread.ThreadMain()