The basic usage for the ATG scheduler(added as a property in your ATG properties file):
schedule=calendar mos dates wkdays mo-occurs hrs mins
The docs for this are here.
The description for the month(mos) is extremely baffling to me:
Parameter | Values | Description
mos | 0..11 | The months when the task occurs, where 0 represents December.
Is there any valid reason for this bizarre break from normal month representation, ie 1-12?
I am at a loss to understand why they did this. It doesn't even line up with the way java.util.Calendar
behaves: Link
Is there some logical explanation as to why they did this?
That is a typing error. In the older docs for ATG 2007 it correctly refers to January as 0 and December as 11. Additionally the rest of the content on that page indicates that May is 4 and August is 7 (only true if January is 0). This seems to have crept into the documentation somewhere between 2007 and ATG 9. It is still incorrect in ATG 10.2/ATG 11 documentation