Liking cljdoc? Tell your friends :D

fierycod.holy-lambda.core

Integrates the Clojure code with two different runtimes: Java Lambda Runtime, Native Provided Runtime. The former is the Official Java Runtime for AWS Lambda which is well tested and works perfectly fine, but it's rather slow due to cold starts. The latter is a custom runtime integrated within the framework. It's a significantly faster than the Java runtime due to the use of GraalVM.

Includes:

  • Friendly macro for generating Lambda functions
  • Macro for generating main function for native runtime
  • Function for calling the lambda via the var
Integrates the Clojure code with two different runtimes: Java Lambda Runtime, Native Provided Runtime.
The former is the Official Java Runtime for AWS Lambda which is well tested and works perfectly fine, but it's rather slow due to cold starts.
The latter is a custom [runtime](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html) integrated within the framework.
It's a significantly faster than the Java runtime due to the use of GraalVM.

*Includes:*
- Friendly macro for generating Lambda functions
- Macro for generating main function for native runtime
- Function for calling the lambda via the var 
raw docstring

callclj

(call afn-sym)
(call afn-sym request)

Resolves the lambda function and calls it with request map. Returns the callable lambda function if only one argument is passed. See fierycod.holy-lambda.util/call

Resolves the lambda function and calls it with request map.
Returns the callable lambda function if only one argument is passed.
See `fierycod.holy-lambda.util/call`
raw docstring

deflambdacljmacro

(deflambda name doc-string? <mixin-sign? mixin? [request] fn-body)

Convenience macro for generating defn alike lambdas.

Convenience macro for generating defn alike lambdas.
raw docstring

gen-maincljmacro

(gen-main lambdas)

Generates the main function which has the two roles:

  1. The -main might be then launched by AWS in the lambda runtime. Lambda runtime tries to proxy the payloads from AWS to corresponding handlers defined in native-template.yml.

  2. The -main might be used to generate the configuration necessary to compile the project to native.

    For more info take a look into the corresponding links:

    1. https://github.com/oracle/graal/issues/1367
    2. https://github.com/oracle/graal/blob/master/substratevm/CONFIGURE.md
    3. https://github.com/oracle/graal/blob/master/substratevm/REFLECTION.md

    According to the comment of the @cstancu with the help of the agent we can find the majority of the reflective calls and generate the configuration. Generated configuration might then be used by native-image tool.

Generates the main function which has the two roles:
1. The `-main` might be then launched by AWS in the lambda runtime.
   Lambda runtime tries to proxy the payloads from AWS to corresponding handlers
   defined in `native-template.yml`.

2. The `-main` might be used to generate the configuration necessary to compile
   the project to native.

   *For more info take a look into the corresponding links:*
   1. https://github.com/oracle/graal/issues/1367
   2. https://github.com/oracle/graal/blob/master/substratevm/CONFIGURE.md
   3. https://github.com/oracle/graal/blob/master/substratevm/REFLECTION.md

   According to the comment of the @cstancu with the help of the agent we can find the majority
   of the reflective calls and generate the configuration. Generated configuration might then be used
   by `native-image` tool.
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close