Running a companion process to an AWS Lambda function in go
Go JavaScript Shell
Permalink
Failed to load latest commit information.
example Adding exception handling for JSON.parse Mar 12, 2016
.gitignore Adding gitignore Nov 12, 2015
README doc fix Aug 9, 2015
lambda_proc.go first Aug 9, 2015
lambda_proc_test.go first Aug 9, 2015

README

lambda_proc

This is experimental and passes tests but should be considered experimental.

Leverages container reuse in aws lambda by starting go proc as companion process, communicating via stdin/stdout with parent nodejs process.  Run takes a handler function and runs it once per json payload received from the parent nodejs process.  Lambda containers may be frozen and thawed between invocations. This allows a go proc to live for many requests, allowing memoization, startup cost elimination, and performance benefits.  Observed lambda run times between .5ms-15ms after first invocation.

index.js has much more robust error handling than typical examples and will restart the go companion process when it dies, syscall writes to it fail, or other error scenarios.

the example folder build.sh script and code are all complete examples of a working lambda.


License: MIT 2015