Implements sub-minute time trigger support to trigger AWS Lambda functions
Project description
PAWS Lambda Time Trigger
This package makes it easy to trigger Lambda functions more often than once a minute - the default service to trigger Lambdas periodically, EventBridge rules, will only allow to define schedules down to a resolution of 1 minute.
Using the PAWS Lambda Time Trigger package, you can define schedules with a resolution down to 1 second.
The PAWS Lambda Time Trigger package will, on top of any resources you create, including the Lambda function to be triggered on a schedule, create:
- An AWS Step Function running the sub-minute schedule you defined by waiting between invokes of your target Lambda
- An EventBrige rule triggering the AWS step function based on the rest of the schedule you define as a CRON expression
If you specify a CRON schedule without the second field being set, or with it being set to 0, the TimeTrigger will just create a plain EventBridge rule with that schedule triggering your Lambda directly, without the AWS Step Function in between.
Basic usage
TypeScript / JavaScript
const timeTrigger = new TimeTrigger(this, 'time-trigger', {
schedule: {
cron: {
second: '0-19/5,20-59/20', // Triggers at seconds 0, 5, 10, 15, 20 and 40 of every minute...
hour: '9-17' // ... of every hour between 9 and 17 each day
},
},
});
yourLambdaFunction.addEventSource(timeTrigger);
Known limitations
Lambda execution time
As of now, the AWS Step Function does not take the time required to execute the scheduled Lambda into account. In other words: if you schedule your Lambda with a TimeTrigger to be executed every 10 seconds (second:'*/10'), but your scheduled Lambda takes 1 second to run, you will see the following behavior:
-
The AWS Step function will be triggered every minute (unless you specified another schedule)
-
The AWS Step function will run your Lambda on...
- Second 0, taking 1 second to complete, then waiting 10 seconds
- Second 11, taking 1 second to complete, then waiting 10 seconds
- Second 22, taking 1 second to complete, then waiting 10 seconds
- Second 33, taking 1 second to complete, then waiting 10 seconds
- Second 44, taking 1 second to complete, then waiting 10 seconds
- Second 55, taking 1 second to complete, then finishing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file paws.lambda-time-trigger-1.0.0.tar.gz.
File metadata
- Download URL: paws.lambda-time-trigger-1.0.0.tar.gz
- Upload date:
- Size: 872.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e4ca172ae64ec0fe6aa4c02bc68f95e4dda51bbe580eca36b6b1a7ec5c4e515
|
|
| MD5 |
6039a7b226ce8466a6f8e2ba4e53b9a9
|
|
| BLAKE2b-256 |
40b4dfb0cb653ade7383f59d664b22565f4b60cdffbbeab126252047448d277e
|
File details
Details for the file paws.lambda_time_trigger-1.0.0-py3-none-any.whl.
File metadata
- Download URL: paws.lambda_time_trigger-1.0.0-py3-none-any.whl
- Upload date:
- Size: 870.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b52ff4758352818c23333c0c3f4a4bc9726cade67a7ddc71d07c2f74874bb51
|
|
| MD5 |
05375a8b0b4f43acb07c6d0392bdbdb8
|
|
| BLAKE2b-256 |
b9c7d611787e94836800fc99b20493180a626d63fcc22a13e17884278acc1f62
|