Learn R Programming

rush

Package website: release | dev

rush is a package designed to solve large-scale problems asynchronously across a distributed network. Employing a database centric model, rush enables workers to communicate tasks and their results over a shared Redis database. Key features include low task overhead, efficient caching, and robust error handling. The package powers asynchronous optimization algorithms in the bbotk and mlr3tuning packages.

Features

  • Database centric model for robust scalability.
  • Efficient communication between workers usingRedis.
  • Maintains low overhead, limiting delays to just a millisecond per task.
  • Reduces read/write operations with a lightweight and efficient caching system.
  • Offers centralized system features, such as task queues.
  • Provides fast data transformation from Redis to data.table.
  • Simplifies local worker setup with processx.
  • Enables scaling to large remote worker networks via the mirai package.
  • Automatically detects and recovers from worker failures for high reliability.
  • Logs worker messages directly into the Redis database using lgr.
  • Designed with minimal dependencies for lightweight integration.

Install

Install the latest release from CRAN.

install.packages("rush")

Install the development version from GitHub.

pak::pak("mlr-org/rush")

And install Redis.

Related Work

  • The rrq package is a task queue system for R using Redis.
  • The future package provides a simple and uniform way of evaluating R expressions asynchronously across a range of backends.
  • batchtools is a package for the execution of long-running tasks on high-performance computing clusters.
  • The mirai package evaluates an R expression asynchronously in a parallel process, locally or distributed over the network.

Copy Link

Version

Install

install.packages('rush')

Monthly Downloads

3,107

Version

0.4.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Marc Becker

Last Published

November 6th, 2025

Functions in rush (0.4.1)

rsh

Synctatic Sugar for Rush Controller Construction
AppenderRedis

Log to Redis Database
get_hostname

Get the computer name of the current host
Rush

Rush Controller
remove_rush_plan

Remove Rush Plan
RushWorker

Rush Worker
rush-package

rush: Rapid Asynchronous and Distributed Computing
heartbeat

Heartbeat Loop
filter_custom_fields

Filter Custom Fields
rush_assertions

Assertion for Rush Objects
with_rng_state

Set RNG Sate before Running a Function
store_large_object

Store Large Objects
rush_config

Get Rush Config
rush_available

Rush Available
start_worker

Start a worker
rush_plan

Create Rush Plan