blob: 58132999f818c81c3e75ff3f6b2f6621c1d779da [file] [log] [blame] [view]
---
title: "Install via Temporal"
sidebar_position: 6
description: >
The steps to install DevLake in Temporal mode.
---
Normally, DevLake would execute pipelines on a local machine (we call it `local mode`), it is sufficient most of the time. However, when you have too many pipelines that need to be executed in parallel, it can be problematic, as the horsepower and throughput of a single machine is limited.
`temporal mode` was added to support distributed pipeline execution, you can fire up arbitrary workers on multiple machines to carry out those pipelines in parallel to overcome the limitations of a single machine.
But, be careful, many API services like JIRA/GITHUB have a request rate limit mechanism. Collecting data in parallel against the same API service with the same identity would most likely hit such limit.
## How it works
1. DevLake Server and Workers connect to the same temporal server by setting up `TEMPORAL_URL`
2. DevLake Server sends a `pipeline` to the temporal server, and one of the Workers pick it up and execute it
**IMPORTANT: This feature is in early stage of development. Please use with caution**
## Temporal Demo
### Requirements
- [Docker](https://docs.docker.com/get-docker)
- [docker-compose](https://docs.docker.com/compose/install/)
- [temporalio](https://temporal.io/)
### How to setup
1. Clone and fire up the [temporalio](https://temporal.io/) services
2. Clone this repo, and fire up DevLake with command `docker-compose -f deployment/temporal/docker-compose-temporal.yml up -d`