It is fine to have additional versions ( postScheduleSImple , postScheduleAdvanced ) as a convenience, but the actual postSchedule function, which takes options as an array, should be public.
There is no reason for it to be private.
By forcing me to use postScheduleAdvanced, I constantly need to refer back to the source code (IronWorker.class.php) to discover which parameters go in which position. This is a frustrating waste of time.
public function postScheduleAdvanced($name, $payload = array(), $start_at, $run_every = null, $end_at = null, $run_times = null, $priority = null)
By making postSchedule public, I can pass an associative array of named parameters, in whatever order I please.
private function postSchedule($name, $options, $payload = array())
I think you will agree, ... it would be best to make postSchedule public.
#10 make postSchedule public
Yeah, good idea.