We have a Perforce SCM server that is taken down daily for about four hours for "routine maintenance". Unfortunately, a build for us often starts about an hour before the repository is taken down, and an entire build of all our projects may take several hours. So, clearly, when the build configurations are trying to check in or check out, they fail and cause a cascading failure of configurations and many error reports.
Is it possible/advisable to set the timeout period for source control operations to a very long period, say 6 hours? (I'm assuming that TC retries VCS operations periodically during this timeout period?). If so how do I do that in the Windows version? I've read about the -Dserver.execution.timeout=? flag, but I'm not sure where I need to apply this switch. To the agent service command line? Or in some configuration file? Does it have to be passed manually as an argument when starting the server? If so how does the setting survive reboots of the build machine? etc.
Alternatively, is it possible to set a schedule for all build configurations or an agent in general such that builds won't start during certain hours of the day and will remain queued, and we won't get so many builds failing for no other reason than the SCM being offline?