Skip to content

Commit 96fd476

Browse files
authored
Improve Documentation (#24)
* Improve documentation * Improving documentation * Fix doc
1 parent 702730a commit 96fd476

File tree

1 file changed

+26
-10
lines changed

1 file changed

+26
-10
lines changed

README.md

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,34 @@
44
![LambdaCron](./lambda-cron-diagram.png "LambdaCron")
55

66
**LambdaCron** is a serverless cron tool. It provides a way to run scheduled tasks
7-
on the AWS cloud, all managed by a command line tool ([LambdaCron CLI](#lambdacron-cli)).
8-
9-
Tasks are scheduled using the same syntax for expressions as Linux
10-
[crontab](https://help.ubuntu.com/community/CronHowto).
11-
12-
**LambdaCron** offers 4 different types of tasks:
7+
on the AWS cloud, tasks defined in YAML and all managed by a command line tool
8+
([LambdaCron CLI](#lambdacron-cli)). Tasks are scheduled using the same syntax for
9+
expressions as Linux [crontab](https://help.ubuntu.com/community/CronHowto).
10+
11+
Traditionally, to run scheduled tasks you need set up cron jobs in the server where
12+
you want them to run. Nonetheless this doesn't make sense anymore when building a
13+
serverless architecture, where servers are transparent to users. In order to solve this
14+
AWS provide [CloudWatch Events](http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html),
15+
which allow you to run scheduled events (called rules) to invoke some others AWS services in
16+
a cron-like way. It is useful tool but it is detached from the traditional way to manage
17+
and run cron jobs and it has some [limitations](http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/cloudwatch_limits_cwe.html)
18+
19+
LambdaCron is trying to fill in the gap providing a tool to define cron jobs in a
20+
user friendly manner and manage them how developers are used to. With LambdaCron you
21+
define each of your tasks in an independent YAML file including the cron expression.
22+
Once you tasks are defined you will manage them using a command line tool, from your
23+
terminal without the need to access to the AWS console.
24+
25+
LambdaCron offers 4 different types of tasks:
1326

1427
* **Queue task**: send message to AWS SQS queue.
1528
* **Lambda task**: invoke AWS Lambda function.
1629
* **Batch task**: submit AWS Batch job.
1730
* **HTTP task**: send HTTP requests (GET & POST).
1831

19-
Tasks are defined in YAML files and are stored in a S3 bucket.
32+
Currently it provides as target 3 AWS services and HTTP requests, but what is most
33+
important is that it is ready be extended for other services and, in general, it is
34+
ready to reach any service available by an API.
2035

2136
## LambdaCron CLI
2237

@@ -243,8 +258,8 @@ Parameters:
243258
244259
## Tasks
245260
246-
Tasks are defined in YAML files, with each task in an independent file. A task must follow
247-
the JSON schema provided in this repo: [schema](./lambda_cron/schema.json).
261+
Tasks are defined in YAML files (each task in an independent file) and stored in S3.
262+
A task must follow the JSON schema provided in this repo: [schema](./lambda_cron/schema.json).
248263
249264
All tasks must contain the following keys and values:
250265
@@ -328,7 +343,8 @@ All parameters for the method can be set in the task definition.
328343
329344
### HTTP task
330345
331-
It sends an HTTP request (GET or POST).
346+
It sends an HTTP request (GET or POST). This task allows to reach any service
347+
that provides an API.
332348
The task definition must contain the following keys:
333349
334350
* **type**: *http*

0 commit comments

Comments
 (0)