Workflow scheduler

Machine workflows and User workflows* can be started from a schedule in Novacura Flow. This is useful when a workflow should be run at a certain time or/and with a certain recurrence. This function is suitable when moving data between systems or doing system checks that may result in user tasks.

All scheduled workflows which will be ran in the future are indicated with a clock icon in server content panel. Each scheduled workflow saves a last run status which is shown in the configuration windows. This windows can be found in the server content context menu for each workflow, i.e. Right click on the workflow and select Schedule....

User workflows must start in a machine swim lane but can later do a handover to an end-user.

Configuration

  • Machine User: Sets which machine user account that will be used when executing the workflow.

  • Repeat every: Sets the repeat interval (if any). The start point is used for calculating the cycles.

  • Start: Date and time for the first execution in your local time zone. Flow use UTC to trigger and save date and times which can result in schedular interface will show another time if your local time zone change, for example when adjusting for daylight savings.

  • End: Date and time for when the execution should stop repeating. This will not stop any started executions. (Saved in UTC, see Start)

  • Enable: Sets if the scheduling is active or not.

Note: This function is depending on the Novacura Flow windows service which is installed along with all Novacura Flow server installations. This service will check for scheduled workflows on a 10s interval, which means that the granularity can never be more precise than 10s.

Tips

More complex repeat patterns can be achieved with FlowScript that restrict the execution. For example running a workflow every Monday, Wednesday and Friday at 03AM can be achieved by settings start time to 03AM and repeat interval to 24 hours. The workflow should then start with a decision step that checks which day it is. See example below.

Best practices

Avoid long running workflows. Workflows can never be run longer than 60min and each machine steps should never take more than 100s.

Don't run multiple instances at the same time. If a workflow take more time (in worst case scenario) than the repeat interval then it will start parallel executions which may result in unexpected behavior.

Troubleshooting

If a workflow wasn't executed as expected follow these steps:

  1. Check the status field, if the execution ended in an error that should be stated here.

  2. Workflow should have a clock icon, or else the configuration is incorrect.

  3. Press Run now... to see that it can be executed with that user and has a published version.

  4. Make sure that windows service is running and correctly configured.

  5. Change log level to info on Novacura Flow server and wait for next execution.

Configuration settings:

  1. Check the following on IIS advanced settings for the Flow Server app pool:

    1. Start Mode = AlwaysRunning

    2. ProcessModel -> Idle Timeout (minutes) = 0

    3. Recycling -> Regular Time Interval (minutes) = 0

    4. Recycling -> Specific Times = Add one or two times a day when no workflows are scheduled and flow server has less traffic.

  2. Check advanced settings for the Server App (under your site):

    1. Preload Enabled = True and check that the IIS feature called Application Initialization Module is installed

  3. Open web.config for flow server and check that the following is in under the system.webServer section

<applicationInitialization doAppInitAfterRestart="true" skipManagedModules="false">
   <add initializationPage="/" />
</applicationInitialization>

Last updated