Parallelization and dependencies
The Parallelization and Dependencies options are displayed in the Job-Update panel of the Job Details page.
Parallelization allows you to save time by executing two jobs concurrently. In general, these jobs must not use the same resources or there can be a race condition where data is modified in one job and modified again by a second job. For example, Job A can read from ChannelValueWide table and write to ResultsTableA while Job B reads from ChannelValueWide table and writes to ResultsTableB. However, if Job A reads and writes to ChannelValueWide while Job B reads from ChannelValueWide and writes to ResultsTableB, it might impact the data that Job B is using. This could lead to partial update of the ChannelValueWide table and erroneous results from Job B.
Important! To allow jobs to run in parallel, you must mark both jobs as parallel with each other. This requires visiting both job pages and checking the box next to the corresponding job.
Use dependencies to set up a chain of jobs where the previous job must have executed for the current job to properly execute. This ensures that when a job executes, the data has been put in the expected state before it begins working. For example, Job A creates and populates ResultsTableA with data. Job B then consumes the data from ResultsTableA to populate ResultsTableB.
To configure a job dependency, you will need to edit the child job and check the box next to the parent job.