• Stars
    star
    236
  • Rank 164,807 (Top 4 %)
  • Language
    Go
  • Created almost 9 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Running a companion process to an AWS Lambda function in go
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

More Repositories

1

t.js

A tiny javascript templating framework in ~400 bytes gzipped
HTML
826
star
2

smlr

Re-encode jpeg images with no perceivable quality loss.
Go
433
star
3

DumbledORM

A novelty PHP ORM
PHP
63
star
4

cryp

simple tools for encryption from the command-line
Go
26
star
5

geo

Simple go wrapper for Google Geocoder API
Go
16
star
6

go-butteraugli

a golang port of the butteraugli library
Go
16
star
7

cardinal

a circular buffer of sets
Go
12
star
8

skwurly

a urlsort function in c
C
10
star
9

eventin

nyt events api app
Go
6
star
10

dk

a decaying 2-dimensional hashtable of counters
Go
6
star
11

ghostmates

Postmates API library
Go
5
star
12

grate

a simple rate limiter
Go
5
star
13

funsafe

experimental package for bypassing package export rules in go
Go
4
star
14

buildbox

ubuntu precise64 vagrant build box
Shell
4
star
15

myne

Java
3
star
16

dirtsimplecolor

a dirt simple color picker for modern browsers
3
star
17

hist

cli tool for generating histograms
Go
3
star
18

helo

a discarding smtp/s server/library
Go
2
star
19

imagine

Go
2
star
20

pubdis

A simple pubsub app
JavaScript
2
star
21

oc

a sortable, iterable map of counters
Go
2
star
22

delta

cli tool for delta encoding/decoding
Go
2
star
23

acslater

a simple auth cache that expires
Go
1
star
24

rnd

playing with prngs
Go
1
star
25

wc

a faster wc
Go
1
star
26

terminal-dash

dashboard for the term
Go
1
star
27

bufcpy

variations on []byte copy functions with benchmarks
Go
1
star
28

mordor

adhoc port scan
Go
1
star
29

cdist

a utf8 rune distribution over stdin
Go
1
star
30

dk-server

trend/cardinality tracking server
Go
1
star
31

flk

a simple snowflake server for generating unique ids
Go
1
star
32

trex

a lexing trie
Go
1
star
33

stater

a lib to make stating your app easy
Go
1
star
34

glisten

go port of a HTML5 Canvas image generation algorithm
Go
1
star
35

dapper

ldap like a sir
Go
1
star
36

tunr

a puzzle game
JavaScript
1
star
37

tt

cli tool to calculate the difference, intersection, or union on newline delimited files
Go
1
star
38

bogl

quick hack at a boggle solver
Go
1
star
39

balance

Go
1
star
40

bytes2human

cli tool that converts bytes to human readable quantities
Go
1
star
41

delts

Delta tracking in streams
Go
1
star
42

pointer

Full example code from the article "Pointer arithmetic, (f)unsafe, and garbage collector behavior in go"
Go
1
star
43

json_tests

simple json throughput tests
Java
1
star
44

cog

a gearmand client/worker lib
Go
1
star