rework

Crates.iorework
lib.rsrework
version0.1.0
sourcesrc
created_at2022-08-25 17:36:34.965293
updated_at2022-10-11 14:14:21.208841
descriptionMulti-threaded task processing in the Master-Worker pattern.
homepage
repositoryhttps://github.com/kkaatii/rework/
max_upload_size
id652320
size50,135
(kkaatii)

documentation

README

rework

version documentation

Multi-threaded async task processing in the Master-Worker pattern.

A rework system consists of a dispatcher and multiple workers. The dispatcher receives work requests via its Handle and schedules work with the help of a Scheduler. The way workers process incoming requests is defined by a WorkFn which takes a request and asynchronously generates a response.

The dispatcher, as well as every worker, runs on its dedicated thread. Although the concrete Request type must be Send, the response futures do not have to, allowing workers to leverage !Send mechanisms, e.g., thread locals.

Features

  • Multi-threaded workers, each with a single-thread async runtime, that can work on !Send futures.
  • Async as an option--you don't necessarily need an async runtime at all.
  • Load balanced, as long as Workload is properly defined.
Commit count: 3

cargo fmt