Tasks
What is a Task?
Tasks are a replacement for core adapters that is more flexible. Tasks can be composed in arbitrary order into pipelines. Pipelines consist of one or more threads of execution where tasks are executed in a well-defined order.
You can use Chainlink's built-in tasks, or you can create your own external adapters for tasks which are accessed through a bridge
.
Writing pipelines
Pipelines are composed of tasks arranged in a DAG (directed acyclic graph). Pipelines are expressed in DOT syntax.
Each node in the graph is a task with a user-specified ID and a set of configuration parameters and attributes:
my_fetch_task [type="http" method=GET url="https://chain.link/eth_usd"]
The edges between tasks define how data flows from one task to the next. Some tasks can have multiple inputs, such as median
. Other tasks are limited to 0 (http
) or 1 (jsonparse
).
data_source_1 [type="http" method=GET url="https://chain.link/eth_usd"]
data_source_2 [type="http" method=GET url="https://coingecko.com/eth_usd"]
medianize_data [type="median"]
submit_to_ea [type="bridge" name="my_bridge"]
data_source_1 -> medianize_data
data_source_2 -> medianize_data
medianize_data -> submit_to_ea