Details
-
Fix
-
Status: Released (View Workflow)
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
None
-
Windows
Description
Current Situation
You have a job or an order with parameter from an included parameter file on a Windows system.
<job >
<params >
<include live_file="my_param.param.xml" node=""/>
</params>
...
</job>
And this parameter file has a modification date before daylight saving time. If you restart the JobScheduler after daylight saving time then it does not start any more.
The files in the attachment have these attributes. To reproduce the error
- put the files into the live folder
- restart JobScheduler
Reason
- For Windows the OS API calls _fstat and _fstati64 return wrong timestamps if dated in previous daylight saving periods.
Solution
- JobScheduler should use GetFileTime() and calculates timestamp on its own.
- see http://msdn.microsoft.com/en-us/library/windows/desktop/ms724290%28v=vs.85%29.aspx
Workaround
All parameter files must have a new modification date.
For example
- open the parameter file in a text editor
- type a space
- delete the space
- save the file
or you use the powershell script from attached SetFileTime.zip.
This script set the creation and modification date
.\SetFileTime.ps1 "C:\ProgramData\sos-berlin\myscheduler\config\live" $true
Attachments
Issue Links
- is duplicated by
-
JS-470 File Orders stop working after daylight saving time change
- Closed
- is related to
-
JS-1717 JobScheduler gets correct file timestamps after Windows 10 update
- Released
- requires
-
JS-706 JobScheduler constantly detects changes of an include file even though it is not changed
- Dismissed