A couple other possible approaches:
Approach #1:
Setup a two-step master workflow ("WF_1_2") consisting of WF1 followed by WF2.
WF1 must have the following logic within it:
- It must record the date it last ran (e.g., in a variable object)
- The last step of the workflow should be a 10-minute time event
- in the workflow's process tab, have the workflow do a ':stop nomsg, 50, "This workflow already ran today" ' if the current date matches the last run date (recorded in the variable object from #1)
WF2 must be configured to use a dependency of ANY_OK (as opposed to ENDED_OK)
Now setup a period container for WF_1_2, running every 10 minutes from 10:00 to 23:59.
Approach #2:
Add a new script task to WF2 to check when WF1 was last run. (As with Approach #1, you'll probably want to record this date in a variable object, or else use :GET_STATISTIC_DETAIL for it.) If the last run of WF1 was on the current date, then the script task ends. Otherwise, it should kick off WF1 using ACTIVATE_UC_OBJECT -- making sure to use the WAIT parameter -- and then follow that with a :WAIT 600 to get your 10 minute delay.
Now, simply setup a period container for WF2, running every 10 minutes from 10:00 to 23:59.