EsAsyncTaskScheduler
The async task scheduler schedules the asynchronous tasks for the constructs such as futures.
It is required to do so in such a way that it can be gauranteed that the caller scheduling the tasks can complete their work before the task begins executing.
The importance of this can be seen with futures. If the future were already executing (and perhaps finished) before the caller finished subscribing all catch: handlers, then its possible they would be missed and go unhandled..even though the caller was setting them up.
A default task scheduler is registered on startup, though one could switch this out. It can be accessed by calling EsAsyncTaskScheduler class>>default
Class Methods
default
  Answer the default task schedule for async operations

     Answers:
        <EsAsyncTaskScheduler>
default:
  Set the default task schedule for async operations

     Arguments:
        anAsyncTaskScheduler - <EsAsyncTaskScheduler>
new
  Answer a new task scheduler instance.

     Answers:
        <EsAsyncTaskScheduler>
Instance Methods
scheduleTask:
  Schedule @aBlock to run async in a coordinated
     fashion with other scheduled tasks.
     Tasks should be executed in the order in which they
     are submitted.
     A <EsAsyncScheduleTaskException> should be raised
     if the task could not be scheduled.

     Arguments:
        aBlock - <Block> async task to perform
     Raises:
        <EsAsyncScheduleTaskException>
scheduleTask:at:
  Schedule @aBlock to run async at @taskPriority
     in a coordinated fashion with other scheduled tasks.
     Tasks should be executed in the order in which they
     are submitted.
     A <EsAsyncScheduleTaskException> should be raised
     if the task could not be scheduled or the @taskPriority
     is invalid.

     Arguments:
        aBlock - <Block> async task to perform
        taskPriority - <Integer> priority to run the task at
     Raises:
        <EsAsyncScheduleTaskException>
Last modified date: 02/23/2021