- Clean up parent tmp code_sync artifacts on pool shutdown
- Add basic rate limiting retries to the FlyBackend to abide by Fly's rate limits of 1 request per second, with 3 requests per second burst.
- Add basic retries for
no capacity
errors in the FlyBackend
- Add
copy_apps
option tocode_sync
to copy all apps in the code path, which is set to true whenstart_apps
is true. - Support
copy_paths
for arbitrary paths unrelated to beams apps for copying arbitrary files on boot to the runner.
copy_paths: true
has been deprecated in favor ofstart_apps: true
, to copy all apps and start them. You can also passcopy_paths: true
to copy all apps without starting them. Nowcopy_paths
is reserved for copying arbitrary paths unrelated to beams apps.
- Fix idle shutdown running before code sync, causing long code syncs to shut runners down prematurely
- Fix
:compress
to:code_sync
raise invalid option error
- Support
:compress
option tocode_sync
to control compression of:copy_paths
and:sync_beams
.
- Fix beam files not being copied on first sync
- Forward
:boot_timeout
to backend options
- Optimize concurrent runner booting
- Copy sym links in
:copy_paths
and:sync_beams
- Fix function error caused by anonymous functions in
:copy_paths
and:sync_beams
- Use OTP 27's
:json
if available - Introduce
FLAME.Trackable
protocol for tracking resources - Introduce
FLAME.track_resources/3
to recursively track resources on a given node
- For backend implementations, the
FLAME.Parent
encoded format has changed to include more information about the parent and child. SeeFLAME.Parent
moduledoc for more information.
- Add
:code_sync
pool configuration for syncing beam files and code paths to flames
- Support
link: false
onFLAME.call/3
,FLAME.cast/3
, andFLAME.place_child/3
for opt-in allowance of long-running FLAME operations (up to:shutdown_timeout
) regardless of what happens to the caller process or caller node.
- Add ability to configure custom metadata for launch FlyBackend machine
- Fix
FLAME.cast/2
defaulting to boot timeout for executions
- Fix
FLAME.cast/2
allowing more than allowed max_concurrency operations - Explicitly prefer local region in
FlyBackend
- Fix Pool supervisor name collisions
- Fix error on concurrent calls when runners are pending
- Fix references to incorrectly named FLAME_PARENT export
- Allow passing fly guest options to configure cpus, cpu_kind, gpu_kind, and memory_mb
Public release 🔥