Sha256: 75a5cec4e67842fb678c52ae3820fba7739f205ee298517d62207f6e92aa05f6
Contents?: true
Size: 1.21 KB
Versions: 15
Compression:
Stored size: 1.21 KB
Contents
class Jets::Poly class NodeExecutor < BaseExecutor # Code for wrapper script that mimics lambda execution. Wrapper script usage: # # node WRAPPER_SCRIPT EVENT # # Example: # # node /tmp/jets/demo/executor/20180804-12816-imqb9/lambda_executor.js '{}' # def code if async_syntax? async_code else callback_code end end # https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-handler.html def async_syntax? app_path = "#{Jets.root}/" + @definition.handler_path.sub('handlers/', 'app/') source_code = IO.read(app_path) source_code.match(/=\s*async.*\(/) end def async_code <<-EOL var event = process.argv[2] event = JSON.parse(event) var context = {} var app = require("./#{@definition.meth}.js") app.#{handler}(event, context).then(resp => console.log(JSON.stringify(resp))) EOL end def callback_code <<-EOL function callback(error, response) { var text = JSON.stringify(response) console.log(text) } var event = process.argv[2] event = JSON.parse(event) var context = {} var app = require("./#{@definition.meth}.js") var resp = app.#{handler}(event, context, callback) EOL end end end
Version data entries
15 entries across 15 versions & 1 rubygems