...
- The solution implements a job
sorter
that can be added to the top of any job chain.- This job implements a
spooler_process()
function that suspends all incoming orders. - This job is configured for one task and with an idle timeout attribute, i.e. it executes incoming orders sequentually.
- After the last order this job waits for the duration specified with the
idle_timeout
attribute for new orders.- The idle timeout is configured by
<job idle_timeout="10">
. - With the idle timeout being expired this job will execute its
spooler_exit()
function and will sort all orders that have previously been suspended.- Sorting is done in alphabetical order.
- The orders are reinserted to the next job node that follows the
sorter
job in the job chain.
- The idle timeout is configured by
- This job implements a
- The solution sample included makes use of a job chain
job_chain1
that includes the job nodes for thesorter
job and ahello
job.
Usage
- Add two orders to the
job_chain1
job chain.- Use an order id in descending alphabetical order, e.g. "cba" for the order id of the first order and "abc" for the order id of the second order.
- Both orders will be suspended in the first node of the job chain.
- After 10s both orders are reinserted to the next job node in the job chain.
- This time the orders are processed in ascending alphabetical order.
...