
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
recursive-lambda
Advanced tools
recursive-lambda is a wrapper around recursive code called within AWS Lambda. It solves the problem of running out of execution time. Should a lambda hit the time limit, it will invoke new lambda so it could carry on with its business.
import Promise from 'bluebird';
import { SimpleStatefulRecursiveService } from 'recursive-lambda';
class ExampleRecursiveService extends SimpleStatefulRecursiveService {
constructor(params, lambdaClient, context) {
super(params, lambdaClient, context);
this.initState({executionCount: 0});
}
/*
Specify logic that will be called recursively until termination logic is met.
Ex: load DynamoDB records in batches, publish over SNS and repeat until done.
*/
action(params = {}) {
return this.exampleEnigmaticRecursiveFunction(params);
}
/*
Specify when you want recursion to stop.
If you don't overwrite parent implementation,
your recursive function will be called exactly once
*/
get executionInvariant() {
return this.state.executionCount < 4;
}
/*
Specify execution threshold in milliseconds
*/
get executionThreshold() {
return 200000;
}
exampleEnigmaticRecursiveFunction(params = {}) {
return new Promise((resolve, reject) => {
const executionCount = this.state.executionCount + 1;
this.updateState({executionCount, result: 'accumulated dummy result'});
resolve();
});
}
}
Contributions are always welcome!
Developed by [microapps] (http://microapps.com/?utm_source=recursive-lambda-repo-readme&utm_medium=click&utm_campaign=github) Used in our live products: [MoonMail] (https://moonmail.io/?utm_source=recursive-lambda-repo-readme&utm_medium=click&utm_campaign=github) & [MONEI] (https://monei.net/?utm_source=recursive-lambda-repo-readme&utm_medium=click&utm_campaign=github)
recursive-lambda is available under the MIT license. See the LICENSE file for more info.
FAQs
allows to create recursive AWS lambda services
We found that recursive-lambda demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.