class Jets::PolyFun::NodeExecutor
def async_code
def async_code <<-EOL event = process.argv[2] t = JSON.parse(event) context = {} app = require("./#{@task.meth}.js") #{handler}(event, context).then(resp => console.log(JSON.stringify(resp))) end
def async_syntax?
def async_syntax? app_path = "#{Jets.root}/" + @task.handler_path.sub('handlers/', 'app/') source_code = IO.read(app_path) source_code.match(/=\s*async.*\(/) end
def callback_code
def callback_code <<-EOL tion callback(error, response) { r text = JSON.stringify(response) nsole.log(text) event = process.argv[2] t = JSON.parse(event) context = {} app = require("./#{@task.meth}.js") resp = app.#{handler}(event, context, callback) end
def code
node /tmp/jets/demo/executor/20180804-12816-imqb9/lambda_executor.js '{}'
Example:
node WRAPPER_SCRIPT EVENT
Code for wrapper script that mimics lambda execution. Wrapper script usage:
def code if async_syntax? async_code else callback_code end end