Workers are the main 'building blocks' of a workflow. They are self contained automation elements that can process certain tasks and transmit results to its connected workers.
By clicking on the worker, a window with settings will pan right to left:
Tabs: Tabs are used to organize the data inputs according to the worker's function
Variants: A worker will always need to receive data to perform it's actions and/or calculations. There are 4 main types of variants to define de sources of data:
1. Fixed Element: select by ID
2. Tag: Select the most recent element with the hashtag
3. List: Select all elements with the same hashtag
4. Upstream: Select an element that will be transmitted from the upstream worker
You can find a complete variants list by clicking here.
Developers Section: Every worker has on his right-top a button to access a developers section. There you can customize a worker's source code, input files, and return values. You can find more about the worker developer section by clicking here.
Every workflow has a Starter. A Starter is trigger responsible to activate a workflow and it's workers. There are four types of Starter triggers: Manual, API, Time-Based, Integration File Received.
Manual: The manual Starter trigger is activated when the Run button is pressed.
API: The API Starter trigger is activated when a client executes a request to run a workflow through the Everysk API.
In order to use the object sent through the API inside the workflow you must define the API Starter outputs. With those outputs defined, other workers will be able to use data from the object sent through the API. The learn more about outputs click here.
Time-Based: The time-based Starter trigger is activated in a certain periodicity of time. By default the periodicity is set to Every 15 minutes. Other options are: Every Hour, Every Day, Every Week and Every Month.
Integration File Received: In the Everysk Platform you can integrate your account with other file holders services and create a received file event that will trigger a workflow execution.
A worker may have different types according to its functions. Currently, the Everysk Platform workers have four types: BASIC, FORKER, BARRIER, CONDITIONAL.
BASIC: The default type of a worker. A basic type worker receives data as input, perform it's actions or calculations without parallelism and then returns an object to the workflow.
FORKER: When a worker is set as a forker it will be able to perform n actions or calculations in parallel. The distinguishing graphic feature of this type of worker is it's stack format symbolizing parallelism.
BARRIER: A barrier worker is used to stop parallelism. All workers placed between a forker worker and a barrier worker will perform it's actions or calculations using parallelism. When a workflow starts parallelism with a forker worker it will only stop using parallelism after a barrier worker. The barrier worker aggregates all the parallel data in one flow. In the example below, we are retrieving a n number of files, using these files to generate portfolios, performing a security ranking analysis in these portfolios and then generating a new single portfolio from the previous analysis using a barrier worker.
CONDITIONAL: A conditional type worker is used to determine conditions and compare values to determine the direction the workflow must follows. After a comparison, this type of worker returns true or false, and then determines which direction the workflow will follow according the conditions to each return.