Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

Job inheritance is a core concept in Tasxs which you should utilize to create a well structured and easy to maintain setup.

The idea is very simple and is similar to the concept of inheritance found in programming languages: in a job you can add one or more jobs as configuration. You can think of these jobs as the parent-jobs. You job will inherit all parameters of all parent jobs combined. Tasxs uses a depth-first search to determine the value of a parameter.

Example

Uses for Inheritance

Template

The most obvious way to use inheritance is as a template for a number of jobs that are the same except for the values of some parameters. For example when you need to backup 5 database you can create a database backup template and 5 jobs that inherit from that template. In each job, you only need to enter the name of the database to backup. the rest will be pre-configured.

You can configure an existing job as a template by checking its "Job template" property so you can be able to select them when creating a job.

Configuration Variables

Another common use is to define variables for use in many jobs. For example, let's say you have many jobs that need to copy files from/to a fileserver. You can put the path to this fileserver in a configuration-job that is inherited by all your jobs. If at some point in the future you move the files to another location, you just have to modify the central configuration job.

Environment Variables

A more specific use-case for configuration concerns environment-dependent variables. This is especially relevant when you deploy your jobs to more than one environment. For example a Test, QA and a production system. You create a central configuration job that does get copied between environments, usually by putting it in a separate repository, which houses your environment-specific configuration. In each environment, you create this job with different values for the variables. Then, you can freely copy jobs between environments. They will find the correct configuration in each environment.


  • No labels