joben wroteI think tford's approach is worth trying.
I would create 4 attributes in SystemSettings like "RandomTime1", "RandomTime2", "RandomTime3", RandomTime4".
Then run a process once a day at 00:00 that randomizes the value for each attribute that can be interpreted as a time.
Then schedule another process with something like:
If CURRENT_TIME=SystemSettings.RandomTime1 OR CURRENT_TIME=SystemSettings.RandomTime2 OR CURRENT_TIME=SystemSettings.RandomTime3 OR CURRENT_TIME=SystemSettings.RandomTime4 Then ProcessName
Like joben said, almost.
First off, the time function is CURRENT_TIMESTAMP not CURRENT_TIME
Secondly, the rules in the Schedule are processed approximately once every 60 seconds. But there is no guarantee on what second your rules will be processed. It is unlikely that when your rules are evaluated the RandomTime would equal the CURRENT_TIMESTAMP down to the second.
What I would do is, besides the 4 RandomTime fields, create 4 Yes/No fields. These could be called something like Random1Processed, Random2Processed, Random3Processed, Random4Processed.
Your process run at 00:00 would set the 4 Yes/No fields to No.
I would also break out the rule that checks the times into 4 separate rule, each one like this:
If CURRENT_TIMESTAMP >= SystemSettings.RandomTime1 AND Random1Processed='No' Then
Random1Processed='Yes'
ProcessName