* functions: add bounded concurrency
* functions: plug runners to sync and async interfaces
* functions: update documentation about the new env var
* functions: fix test flakiness
* functions: the runner is self-regulated, no need to set a number of runners
* functions: push the execution to the background on incoming requests
* functions: ensure async tasks are always on
* functions: add prioritization to tasks consumption
Ensure that Sync tasks are consumed before Async tasks. Also, fixes
termination races problems for free.
* functions: remove stale comments
* functions: improve mem availability calculation
* functions: parallel run for async tasks
* functions: check for memory availability before pulling async task
* functions: comment about rnr.hasAvailableMemory and sync.Cond
* functions: implement memory check for async runners using Cond vars
* functions: code grooming
- remove unnecessary goroutines
- fix stale docs
- reorganize import group
* Revert "functions: implement memory check for async runners using Cond vars"
This reverts commit 922e64032201a177c03ce6a46240925e3d35430d.
* Revert "functions: comment about rnr.hasAvailableMemory and sync.Cond"
This reverts commit 49ad7d52d341f12da9603b1a1df9d145871f0e0a.
* functions: set a minimum memory availability for sync
* functions: simplify the implementation by removing the priority queue
* functions: code grooming
- code deduplication
- review waitgroups Waits
* Added high level roadmap.
* Changed to funtion.yaml.
* Added logo
* updating quickstart code example, WIP, waiting on another merge.
* Minor updates.
* Changed function.yaml to func.yaml and updated fnctl README.
This commit modifies how init detects runtime and entrypoints. It
assumes the following convention:
1 - All functions have a func.{lang} file - from which both
entrypoint and runtime are deduced.
2 - Entrypoints always are, depending on the language, "./func",
"{lang-exec} ./func.{lang}", "{lang-exec} ./func.{package}" (e.g.
Java's "func.jar" and PHP's "func.phar").