Releases: suborbital/reactr
Beta-6
Welcome to the first release of Reactr!
This project has been re-worked and combined with the hive-wasm
project to form the new and improved Suborbital job scheduler. You may notice the huge version number jump, and that is due to the merging of the two projects. The Runnable API was last tagged at v0.5.0, and therefore we find ourselves at Reactr Beta-6!
Reactr is all of the simplicity of Hive, plus the WebAssembly awesomeness from hive-wasm. You can read more about the change on the Suborbital blog
- Swift Runnables will need to update their Package.swift to list this repo as the source of the Suborbital library rather than hive-wasm
- Rust Runnables do not need to change their Cargo.toml, simply update the version to 0.6.0
- This release adds the ability to access static files from the Runnable bundle via the get_static_file FFI API!
- This release upgrades the internal Wasm runtime to Wasmer v1.0!
Beta-2.1
This release adds the PreWarm()
option when registering a Runnable, allowing it to bootstrap resources via OnChange
immediately, rather than "just in time" when it receives the first job. This helps reduce cold start times in some instances!
Beta-2
This release contains a new, more flexible Runnable interface! This release is a breaking change.
The main changes are including a Ctx
object in each call to a Runnable's Run
instead of the previous doFunc. This Ctx contains its own Do func, allowing the same behaviour as before.
OnStart
becomes OnChange
, allowing for more lifecycle events to be handled by Runnables.
These changes set Hive up well for some powerful additions coming in the next few weeks.
Beta-1.5
This release improves Hive's integration with Grav.
It updates Grav compatability to Grav Beta-3 and updates handling of messages to return a hive.nil
message if a job returns a nil result such that senders awaiting a reply don't need to wait for a timeout if something returns nil.
Beta-1.4
This release improves Hive's integration with Grav by adding a h.Listen
method for attaching a message listener to a job type that has already been registered. h.HandleMsg
still exists to mount a Runnable and attach a message listener as before.
Beta-1.3
This release is internal-only changes which set Hive up for some future planned features (Job persistence, in particular), as well as the beginnings of targeted reductions in memory usage.
This release updates dependencies to include the latest version of Vektor.
Beta-1.2
Beta-1.2 release contains two new features:
-
The ability to set a job timeout. Passing the timeout option to
h.Handle
will cause the worker to discard a job after the provided number of seconds. This will NOT cause the execution of the job to be terminated (it will run on a background goroutine and its results will be discarded). The worker will continue to process a new job if a job times out. -
The ability to react to messages received from a Grav pod. Messages can trigger jobs, and the input/output for the job will be routed with the pod. See the grav documentation page in the docs/ folder for details.
Breaking changes:
RunFunc
has been renamed toDoFunc
. The convention for a Runnable'sRun
function is to name theDoFunc
parameterdo
rather thanrun
.
Beta-1.1
Beta-1
Hive beta-1 is here! Hive has proven to be very reliable in some real-world projects, and so it is ready for beta status. Hive has been a very useful tool for some high performance work, and I could not be more excited about what it will be able to do in the future.
Please test and file issues!