Creates a new recurring schedule for a work order from the values supplied in `workOrderInfo`. 
All keys inside `workOrderInfo` are required. The schedule defines the recurrence rule (`rruleStr`), the active date window (`startDate`/`endDate`), 
how far ahead schedule events are generated (`generateAheadDays`), and how much lead time is given before each generated event (`leadTimeDays`).

---
### Parameters
**workOrderInfo** `Dictionary`<br />
<table class='dictionaryKeyTable'>
	<tbody>
 	<tr><td> - endDate</td><td>DateTime</td><td></td></tr>	
 	<tr><td> - generateAheadDays</td><td>Integer</td><td></td></tr>	
 	<tr><td> - lastGeneratedDate</td><td>Integer</td><td></td></tr>	
 	<tr><td> - leadTimeDays</td><td>Integer</td><td></td></tr>	
 	<tr><td> - rruleStr</td><td>String</td><td></td></tr>	
 	<tr><td> - startDate</td><td>DateTime</td><td></td></tr>	
 	<tr><td> - workOrderId</td><td>Integer</td><td>Id of the workOrder</td></tr>	
	</tbody>
</table>

**userId** `Integer`:Id of the user executing the function<br />

---
### Returns
**workOrderScheduleId** `Integer`<br />
**message** `String` None if success<br />

---
### Example
```python
# Weekly preventive-maintenance schedule for an asset's work order, running every Monday at 06:00 for the next year.
workOrderInfo = {
					"workOrderId": 4821,
					"rruleStr": "FREQ=WEEKLY;BYDAY=MO;BYHOUR=6;BYMINUTE=0",
					"startDate": "2026-08-03 06:00:00",
					"endDate": "2027-08-03 06:00:00",
					"generateAheadDays": 14,
					"leadTimeDays": 2,
					"lastGeneratedDate": 0,
				}
userId = system.kanoa.security.getIDPUserId({'userName': 'SYSTEM'})
workOrderScheduleId, msg = system.kanoa.cmms.setWorkOrderSchedule(workOrderInfo, userId)
print workOrderScheduleId, msg
```
