Learn R Programming

⚠️There's a newer version (0.4.1) of this package.Take me there.

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,343

Version

0.3.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Marc Becker

Last Published

July 31st, 2025

Functions in rush (0.3.0)

filter_custom_fields

Filter Custom Fields
rsh

Synctatic Sugar for Rush Controller Construction
rush-package

rush: Rapid Asynchronous and Distributed Computing
get_hostname

Get the computer name of the current host
rush_assertions

Assertion for Rush Objects
heartbeat

Heartbeat Loop
RushWorker

Rush Worker
AppenderRedis

Log to Redis Database
remove_rush_plan

Remove Rush Plan
Rush

Rush Controller
rush_config

Get Rush Config
store_large_object

Store Large Objects
start_worker

Start a worker
rush_available

Rush Available
with_rng_state

Set RNG Sate before Running a Function
rush_plan

Create Rush Plan