Skip to content

Commit 76942df

Browse files
authored
Merge pull request #232 from denysovvl/cron-patterns
Added docs section for Cron Patterns
2 parents d977103 + e332456 commit 76942df

File tree

1 file changed

+118
-0
lines changed

1 file changed

+118
-0
lines changed

docs/plugins/cron.md

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,3 +139,121 @@ const app = new Elysia()
139139
})
140140
.listen(8080)
141141
```
142+
143+
## Predefined patterns
144+
145+
You can use predefined patterns from `@elysiajs/cron/schelude`
146+
```typescript
147+
import { Elysia } from 'elysia'
148+
import { cron } from '@elysiajs/cron'
149+
import { Patterns } from '@elysiajs/cron/schelude'
150+
151+
const app = new Elysia()
152+
use(
153+
cron({
154+
name: 'heartbeat',
155+
pattern: Patterns.everySecond(),
156+
run() {
157+
console.log("Heartbeat")
158+
}
159+
}
160+
)
161+
.get('/stop', ({ store: { cron: { heartbeat } } }) => {
162+
heartbeat.stop()
163+
164+
return 'Stop heartbeat'
165+
})
166+
.listen(8080)
167+
```
168+
169+
170+
### Functions
171+
172+
Function | Description
173+
------------- | -------------
174+
`.everySenconds(2)` | Run the task every 2 seconds
175+
`.everyMinutes(5)` | Run the task every 5 minutes
176+
`.everyHours(3)` | Run the task every 3 hours
177+
`.everyHoursAt(3, 15)` | Run the task every 3 hours at 15 minutes
178+
`.everyDayAt('04:19')` | Run the task every day at 04:19
179+
`.everyWeekOn(Patterns.MONDAY, '19:30')` | Run the task every Monday at 19:30
180+
`.everyWeekdayAt('17:00')` | Run the task every day from Monday to Friday at 17:00
181+
`.everyWeekendAt('11:00')` | Run the task on Saturday and Sunday at 11:00
182+
183+
### Function aliases to constants
184+
185+
Function | Constant
186+
------------- | -------------
187+
`.everySecond()` | EVERY_SECOND
188+
`.everyMinute()` | EVERY_MINUTE
189+
`.hourly()` | EVERY_HOUR
190+
`.daily()` | EVERY_DAY_AT_MIDNIGHT
191+
`.everyWeekday()` | EVERY_WEEKDAY
192+
`.everyWeekend()` | EVERY_WEEKEND
193+
`.weekly()` | EVERY_WEEK
194+
`.monthly()` | EVERY_1ST_DAY_OF_MONTH_AT_MIDNIGHT
195+
`.everyQuarter()` | EVERY_QUARTER
196+
`.yearly()` | EVERY_YEAR
197+
198+
### Constants
199+
200+
Constant | Pattern
201+
------------- | -------------
202+
`.EVERY_SECOND` | `* * * * * *`
203+
`.EVERY_5_SECONDS` | `*/5 * * * * *`
204+
`.EVERY_10_SECONDS` | `*/10 * * * * *`
205+
`.EVERY_30_SECONDS` | `*/30 * * * * *`
206+
`.EVERY_MINUTE` | `*/1 * * * *`
207+
`.EVERY_5_MINUTES` | `0 */5 * * * *`
208+
`.EVERY_10_MINUTES` | `0 */10 * * * *`
209+
`.EVERY_30_MINUTES` | `0 */30 * * * *`
210+
`.EVERY_HOUR` | `0 0-23/1 * * *`
211+
`.EVERY_2_HOURS` | `0 0-23/2 * * *`
212+
`.EVERY_3_HOURS` | `0 0-23/3 * * *`
213+
`.EVERY_4_HOURS` | `0 0-23/4 * * *`
214+
`.EVERY_5_HOURS` | `0 0-23/5 * * *`
215+
`.EVERY_6_HOURS` | `0 0-23/6 * * *`
216+
`.EVERY_7_HOURS` | `0 0-23/7 * * *`
217+
`.EVERY_8_HOURS` | `0 0-23/8 * * *`
218+
`.EVERY_9_HOURS` | `0 0-23/9 * * *`
219+
`.EVERY_10_HOURS` | `0 0-23/10 * * *`
220+
`.EVERY_11_HOURS` | `0 0-23/11 * * *`
221+
`.EVERY_12_HOURS` | `0 0-23/12 * * *`
222+
`.EVERY_DAY_AT_1AM` | `0 01 * * *`
223+
`.EVERY_DAY_AT_2AM` | `0 02 * * *`
224+
`.EVERY_DAY_AT_3AM` | `0 03 * * *`
225+
`.EVERY_DAY_AT_4AM` | `0 04 * * *`
226+
`.EVERY_DAY_AT_5AM` | `0 05 * * *`
227+
`.EVERY_DAY_AT_6AM` | `0 06 * * *`
228+
`.EVERY_DAY_AT_7AM` | `0 07 * * *`
229+
`.EVERY_DAY_AT_8AM` | `0 08 * * *`
230+
`.EVERY_DAY_AT_9AM` | `0 09 * * *`
231+
`.EVERY_DAY_AT_10AM` | `0 10 * * *`
232+
`.EVERY_DAY_AT_11AM` | `0 11 * * *`
233+
`.EVERY_DAY_AT_NOON` | `0 12 * * *`
234+
`.EVERY_DAY_AT_1PM` | `0 13 * * *`
235+
`.EVERY_DAY_AT_2PM` | `0 14 * * *`
236+
`.EVERY_DAY_AT_3PM` | `0 15 * * *`
237+
`.EVERY_DAY_AT_4PM` | `0 16 * * *`
238+
`.EVERY_DAY_AT_5PM` | `0 17 * * *`
239+
`.EVERY_DAY_AT_6PM` | `0 18 * * *`
240+
`.EVERY_DAY_AT_7PM` | `0 19 * * *`
241+
`.EVERY_DAY_AT_8PM` | `0 20 * * *`
242+
`.EVERY_DAY_AT_9PM` | `0 21 * * *`
243+
`.EVERY_DAY_AT_10PM` | `0 22 * * *`
244+
`.EVERY_DAY_AT_11PM` | `0 23 * * *`
245+
`.EVERY_DAY_AT_MIDNIGHT` | `0 0 * * *`
246+
`.EVERY_WEEK` | `0 0 * * 0`
247+
`.EVERY_WEEKDAY` | `0 0 * * 1-5`
248+
`.EVERY_WEEKEND` | `0 0 * * 6,0`
249+
`.EVERY_1ST_DAY_OF_MONTH_AT_MIDNIGHT` | `0 0 1 * *`
250+
`.EVERY_1ST_DAY_OF_MONTH_AT_NOON` | `0 12 1 * *`
251+
`.EVERY_2ND_HOUR` | `0 */2 * * *`
252+
`.EVERY_2ND_HOUR_FROM_1AM_THROUGH_11PM` | `0 1-23/2 * * *`
253+
`.EVERY_2ND_MONTH` | `0 0 1 */2 *`
254+
`.EVERY_QUARTER` | `0 0 1 */3 *`
255+
`.EVERY_6_MONTHS` | `0 0 1 */6 *`
256+
`.EVERY_YEAR` | `0 0 1 1 *`
257+
`.EVERY_30_MINUTES_BETWEEN_9AM_AND_5PM` | `0 */30 9-17 * * *`
258+
`.EVERY_30_MINUTES_BETWEEN_9AM_AND_6PM` | `0 */30 9-18 * * *`
259+
`.EVERY_30_MINUTES_BETWEEN_10AM_AND_7PM` | `0 */30 10-19 * * *`

0 commit comments

Comments
 (0)