Skip to content

Commit efebd61

Browse files
committed
add docs for idle runners
1 parent e83ccbe commit efebd61

File tree

2 files changed

+94
-0
lines changed

2 files changed

+94
-0
lines changed

docs/reference/idle_runners.md

+93
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
id: idle-runners
3+
description: Keep some runners idle to avoid latency
4+
image: "https://cirun.io/cirun-summary-image-v4.png"
5+
keywords: [Cirun, idle-runners, Runners]
6+
---
7+
8+
# Idle Runners
9+
10+
Cirun creates runners on-demand on various cloud providers, which takes sometimes a
11+
couple of minutes or more. This might not be suitable for use cases where you need
12+
to run CI jobs almost instantly like GitHub hosted runners. This is why we introduced
13+
the ability to keep "x" number of runners always (or at some specified times) running.
14+
This will help you run workflows almost instantly.
15+
16+
:::info
17+
Idle runners does not mean that the same machine will be re-used for jobs.
18+
Runners are destroyed after the job completes. Idle runner configuration
19+
makes sure that given number of runners are always available, as in a runner
20+
is created if one of the runners picks up a job.
21+
:::
22+
23+
## Examples
24+
25+
### Make 4 runners always available from 9 AM - 5 PM on Monday to Friday and 1 on weekend:
26+
27+
```yaml
28+
runners:
29+
- name: aws-cpu-runner
30+
cloud: aws
31+
instance_type: t2.medium
32+
machine_image: ami-06fd8a495a537da8b
33+
preemptible: true
34+
labels:
35+
- cirun-runner
36+
idle:
37+
schedule:
38+
- day: mon-fri
39+
time: 5-7
40+
timezone: UTC
41+
replicas: 4
42+
- day: sat-sun
43+
time: 8-17
44+
timezone: UTC
45+
replicas: 1
46+
```
47+
48+
49+
### Make 4 runners always available from 9 AM - 5 PM on Monday to Friday and none on weekend:
50+
51+
```yaml
52+
runners:
53+
- name: aws-cpu-runner
54+
cloud: aws
55+
instance_type: t2.medium
56+
machine_image: ami-06fd8a495a537da8b
57+
preemptible: true
58+
labels:
59+
- cirun-runner
60+
idle:
61+
schedule:
62+
- day: mon-fri
63+
time: 5-7
64+
timezone: UTC
65+
replicas: 4
66+
```
67+
68+
### Make variable number of runners available on different days of week:
69+
70+
```yaml
71+
runners:
72+
- name: aws-cpu-runner
73+
cloud: aws
74+
instance_type: t2.medium
75+
machine_image: ami-06fd8a495a537da8b
76+
preemptible: true
77+
labels:
78+
- cirun-runner
79+
idle:
80+
schedule:
81+
- day: mon
82+
time: 5-7
83+
timezone: UTC
84+
replicas: 2
85+
- day: wed
86+
time: 5-7
87+
timezone: UTC
88+
replicas: 3
89+
- day: fri
90+
time: 5-7
91+
timezone: UTC
92+
replicas: 4
93+
```

sidebars.js

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ module.exports = {
3939
"reference/developer-api",
4040
"reference/organization-runner-configuration",
4141
"reference/access-control",
42+
"reference/idle-runners",
4243
],
4344
},
4445
{

0 commit comments

Comments
 (0)