From ad1b33e1632861b2435efd39630c9455cd6e9494 Mon Sep 17 00:00:00 2001 From: Javier Bravo Date: Sun, 4 Jun 2017 20:27:06 +0100 Subject: [PATCH 1/3] Improve documentation --- README.md | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 9196125..2e7561f 100644 --- a/README.md +++ b/README.md @@ -4,19 +4,34 @@ ![LambdaCron](./lambda-cron-diagram.png "LambdaCron") **LambdaCron** is a serverless cron tool. It provides a way to run scheduled tasks -on the AWS cloud, all managed by a command line tool ([LambdaCron CLI](#lambdacron-cli)). - -Tasks are scheduled using the same syntax for expressions as Linux -[crontab](https://help.ubuntu.com/community/CronHowto). - -**LambdaCron** offers 4 different types of tasks: +on the AWS cloud, tasks defined in YAML and all managed by a command line tool +([LambdaCron CLI](#lambdacron-cli)). Tasks are scheduled using the same syntax for +expressions as Linux [crontab](https://help.ubuntu.com/community/CronHowto). + +Traditionally, to run scheduled tasks you need set up cron jobs in the server where +you want them to run. Nonetheless this doesn't make sense anymore when building a +serverless architecture, where servers are transparent to users. In order to solve this +AWS provide [CloudWatch Events](http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html), +which allow you to run scheduled events (called rules) to invoke some others AWS services in +a cron-like way. It is useful tool but it is detached from the traditional way to manage +and run cron jobs and it has some [limitations](http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/cloudwatch_limits_cwe.html) + +LambdaCron is trying to fill in the gap providing a tool to define cron jobs in a +user friendly manner and manage them how developers are used to. With LambdaCron you +define each of your tasks in an independent YAML file including the cron expression. +Once you tasks are defined you will manage them using a command line tool, from your +terminal without the need to access to the AWS console. + +LambdaCron offers 4 different types of tasks: * **Queue task**: send message to AWS SQS queue. * **Lambda task**: invoke AWS Lambda function. * **Batch task**: submit AWS Batch job. * **HTTP task**: send HTTP requests (GET & POST). -Tasks are defined in YAML files and are stored in a S3 bucket. +Currently it provides as target 3 AWS services and HTTP requests, but what is most +important is that it is ready be extended for any other service available in the +AWS API. ## LambdaCron CLI @@ -243,8 +258,8 @@ Parameters: ## Tasks -Tasks are defined in YAML files, with each task in an independent file. A task must follow -the JSON schema provided in this repo: [schema](./lambda_cron/schema.json). +Tasks are defined in YAML files (each task in an independent file) and stored in S3. +A task must follow the JSON schema provided in this repo: [schema](./lambda_cron/schema.json). All tasks must contain the following keys and values: @@ -328,7 +343,8 @@ All parameters for the method can be set in the task definition. ### HTTP task -It sends an HTTP request (GET or POST). +It sends an HTTP request (GET or POST). This task allows to reach any service +that provides an API. The task definition must contain the following keys: * **type**: *http* From ea54fa7027b75aadedba5b67d7ec24e163abedb2 Mon Sep 17 00:00:00 2001 From: Javier Bravo Date: Sun, 4 Jun 2017 20:32:53 +0100 Subject: [PATCH 2/3] Improving documentation --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2e7561f..f095f33 100644 --- a/README.md +++ b/README.md @@ -30,8 +30,8 @@ LambdaCron offers 4 different types of tasks: * **HTTP task**: send HTTP requests (GET & POST). Currently it provides as target 3 AWS services and HTTP requests, but what is most -important is that it is ready be extended for any other service available in the -AWS API. +important is that it is ready be extended for other services and, in general, it +ready to reach any service available by an API. ## LambdaCron CLI From 952a7f79ef3b72e02053f9e753f1aa81b63f4122 Mon Sep 17 00:00:00 2001 From: Javier Bravo Date: Tue, 6 Jun 2017 11:10:30 +0100 Subject: [PATCH 3/3] Fix doc --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f095f33..080aa29 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ LambdaCron offers 4 different types of tasks: * **HTTP task**: send HTTP requests (GET & POST). Currently it provides as target 3 AWS services and HTTP requests, but what is most -important is that it is ready be extended for other services and, in general, it +important is that it is ready be extended for other services and, in general, it is ready to reach any service available by an API. ## LambdaCron CLI