Task Plans

This page is for data modellers, application designers and system administrators. It explains how to create a task plan, which will run one or more tasks.

Overview

When working with data, applications and IT systems, there are routine processes that you need to run. PhixFlow makes it easy for you to set up and manage these processes using task plans, to which you add tasks.

See Also


Running Task Plans

You can run a task plan:

  • manually, using the property tab toolbar button  Start.
  • automatically at a scheduled date and time, using the Scheduled check box and related Schedule section.
  • by linking it to an application action, in the action properties → Run Task Plan section; see Table-Action.
    When the user clicks something in the application, such as a button or a data row, the task plan runs.

When a task plan runs, its tasks are run in the order they are listed.

You can optionally set up a list of users who will receive an email about the outcome of running the task plan.

Task Plan Properties

For information about the properties toolbar, and about the sections Parent Details, Analysis Models, Description and Audit Summary, see Common Properties.  We recommend you always add a Description that explains the purpose of the item you are creating. 

For a full list of all the PhixFlow property tabs and windows, see Properties, Windows, Menus and Toolbars.

The property tab toolbar includes the  Start button. Click this to manually run the task plan.

Basic Settings

FieldDescription
NameThe name of the task plan.
Enabled

 Tick to indicate the task plan configuration is complete and it can be run.

 Untick to prevent the task plan being run. For example, during maintenance, you may not want the task plan to run at the scheduled time.

Scheduled

 Tick to add a Schedule section to the properties, where you can configure the day and time that the task plan will run. 

 Untick for task plans that you want to run manually. 

Suspend on Failure

 Tick to set PhixFlow to automatically tick the Suspended checkbox if running the task plan generates an error message. You can find the error messages in the log file; see Server Log Files.

 Untick so that a task plan can report errors without preventing the next run.

Suspended

 Tick prevents the next run of the task plan. PhixFlow automatically ticks this box if the task plan generated an error message on its previous run. This means the task plan will not run again until you have:

  • resolved the problem that caused the error message
  • and unticked the Suspend checkbox.

 Untick indicates the task plan can run as no errors were reported in the previous run.

Protect on import

 Untick to allow this task plan to be updated or deleted by import from another PhixFlow instance.

 Tick to retain the Enabled, Scheduled, Suspend on Failure, Suspended and Schedule settings if this task plan is imported from another PhixFlow instance.

 More ...

When you have several instances of PhixFlow, for example development and production instances, you may want some item properties to be different for each instance. Usually, when you export from a source instance, then import to a target instance, PhixFlow overwrites item properties with those from the source instance. In the target instance, tick this box to prevent the current setting being overwritten by the source item.

Tasks

This section has a toolbar with standard buttonsThe grid contains a list of of tasks in the task plan. To create a task and add it to the list:

  1. Click  Create New. PhixFlow displays a list of task types; see Types of Task.
  2. Select a task type.
  3. Complete the task properties; see Task.

To remove tasks, use the toolbar button  Delete.

Schedule

This section is displayed when Basic Settings → Scheduled is ticked. Specify the day and time on which the task plan runs.

In the fields, you can enter:

  • an explicit value: 6
  • a range: 9-12
  • a repeating group: 5/10
    This is equivalent to 5,15,25,35 etc.
  • a comma-separated list of single values, ranges or repeating groups: 1,3-5,10,20/5
  • a wild card to mean all values: * 
    Note: You cannot use a wild card in the Seconds field.

The Schedule section has fields for Day of Month and Day of Week . These fields are mutually exclusive. Use one to specify a day, and enter a ? to indicate no value  is specified in the other.


FieldDescription
SecondsEnter the seconds part of the scheduled time, for example, 0-59.
MinutesEnter the minutes part of the scheduled time, for example, 0-59.
HoursEnter the hours part of the scheduled time, for example, 0-23.
Day of Month

Enter the day of the scheduled date. You can enter:

  • number to specify the date. The day number can be 1 to 31
    Note: A date of 31 will not run the task plan in months that only have 28, 29 or 30 days
    • for example, 20 runs the task on the 20th day of the month
    • for example, 1-31 runs the task plan every day
  • L to specify the last day of the month
  • L-number to specify a day relative to the last day of the month
    • for example, L-2 runs the task plan two days before the last day of the month
  • numberW to specify the nearest week day to a date, for example: 
    • 1W runs the task plan on the first week-day of the month
    • 15W, where the 15th is a:
      • Saturday, runs the task plan on Friday 14th
      • Sunday, runs the task plan on Monday 16th
    • 1W runs the task plan on the first week-day of the month
  • LW runs the task plan on the last week-day of the month
  • ? to indicate no value is specified here when you use the Day of Week field instead.
Month

Enter the month of the scheduled date. You can enter the months as:

  • a number or number range. Numbers are 1 to 12. For example:
    • 5 runs the task plan in May
    • 1-12 runs the task plan every month
  • its short name, for example, JAN,MAY,JUN,DEC. You can specify a range of months, for example JAN-MAR.

The month short names must be in block capital letters.

Day of Week

Enter the day of the scheduled date. You can enter:

  • number to specify the day as number from 1 to 7, where:
    • 1 is Sunday
    • 2 is Monday
    • 6 is Friday
    • 7 is Saturday
    • for example, 20 runs the task on the 20th day of the month.
    • for example 2-6 runs the task plan every week-day
  • the short day name, for example MON,TUE,FRI,SUN. You can specify a range of days, for example:
    • MON-FRI runs the task plan on week-days.
  • as a suffix, to specify the last week-day in the month, for example:
    • FRIL runs the task plan on the last Friday of the month
    • 2L runs the task plan on the last Monday of the month
  • #number as a suffix, to specify one Nth weekday in the month. For example:
    • FRI#1 runs the task plan on the first Friday of the month
    • 4#2 runs the task plan on a Wednesday, when it is the 2nd Wednesday of the month
    • FRI#5 runs the task plan on the fifth Friday of the month. If there is no fifth Friday, the task plan does not run.
    • 2#1, 1#3 is not valid, as it specifies more than one value.
  • ? to indicate no value is specified here when you use the Day of Month field instead.
YearEnter the year of the scheduled date, for example, 2020. You can specify a range of years, for example, 1970-2099.

Send By Email

You can set up an automated email to be sent with the results of a task plan run.

Emails are generated in an outbound queue and are sent by a separate email background process. If the background process cannot send the emails immediately, for example, because the email server is down, it will try to re-send periodically until:

  • either it succeeds
  • or it exceeds a timeout period.

Emails can also be sent as part of Actionflows. The Actionflow can be added to a task plan to run at a scheduled time, see Email Node.

FieldDescription
Email FromEnter the email address from which the generated email will appear to be sent.
Subject Expression

Enter a PhixFlow expression to create the email subject. The expression must evaluate to a plain text string; see Expressions and PhixScripts.

Use the internal variables _errors, _warnings, _messages, _suspended  and _taskPlan.

Email as HTML Untick  to send the body of the email as plain text. If Message Expression contains any HTML tags, they will appear as text in the email.

 Tick to send the body of the email as HTML. If Message Expression contains HTML tags, they will be used to format the email text.

Message Expression

Enter a PhixFlow expression to create the message body of the email. Email messages can have unlimited characters. The expression must evaluate to a plain text string; see Expressions and PhixScripts.When Email as HTML is ticked, the string can include HTML tags, for example to format text or provide links.

Use the internal variables _errors, _warnings, _messages_suspended and _taskPlan.

Notification

This section has a toolbar with standard buttons. The grid contains a list of the notification rules that belong to the task plan.

To create and add a notification to the list, cick  Create New. PhixFlow opens the properties tab for a new User Notification Rule.

  1. In Basic Settings →  Email As select one of:
    • TO
    • CC
    • BCC
  2.  Optionally add an expression to specify the conditions under which the email is sent. To specify sending an email based on logged messages, use the internal variables:
    •  _errors: to send an email if there are any errors, or more than a specified number of errors
    •  _warnings: to send an email if there are warnings
    • _messages: to send an email if there are any messages
    • _suspended: If you have ticked Suspend on Failure, you must send an email to someone who can resolve the issue that caused the task plan to fail.
  3. In the Users section, click  Users to open a list of users. Drag users from the list into the grid. 
  4. Click  Apply and Close to save and close the user notification rule.

To remove a user notification rule from the task, use the toolbar button  Delete.


Advanced

FieldDescription
Exclusion Group

This field is case insensitive. If this field is not empty, only one task plan with this Exclusion Group can be running at any one time. Attempting to run a second task plan with the same exclusion group will return a warning and the task plan will not run. This applies whether the task plan is run manually, automatically using a schedule, or by an action.

When running an action, the initial phase will evaluate the task plan rules and determine which task plan (if any) to run. If the task plan to run has an exclusion group and there is already a task running with this exclusion group then the action will not continue and returns a warning. Exclusion Group are evaluated before any tasks or actions are started. 

If there is no task already running with this exclusion group then the action will continue. The action will be considered to be using this exclusion group from this point until the task plan has completed.




Sections on this page