Skip to content

About

Common utility actors built with Ractor

Resources

Contributing

Stars

38 stars

Watchers

4 watching

Forks

Repository files navigation

ractor_actors

Common utility actors built with Ractor

A pure-Rust actor framework. Inspired from Erlang's gen_server, with the speed + performance of Rust!

  • github
  • crates.io
  • docs.rs
  • CI/main
  • codecov
  • ractor_actors: ractor_actor Downloads

This crate contains some utility actors for Ractor-based systems. Additionally because ractor is built on tokio, you can often intermingle these utility actors with non-actor async workflows.

This crate is WIP

Installation

[dependencies]
ractor_actors = "0.7"

Version 0.7 targets Ractor 0.16 and requires Rust 1.87 or newer.

What's here?

The following utility actors are defined in this crate (enable with the associated feature in brackets):

  1. Filewatcher (feature filewatcher) - Watch files and directories for changes. Built with notify.
  2. Tcp actors (feature net) - Listen for incoming connections and handle messages in/out from them as sessions.
  3. Cron management actor (feature time) - A basic cron-job managing actor, which supports the full cron syntax and will execute operations on a period
  4. Stream processing actors (feature streams) - Actors for common tasks processing streams, including infinite/finite loops, stream processing, and stream multiplexing.
  5. Watchdog process (feature watchdog) - A "global" watchdog process, which can be used to terminate actors after some level of inactivity.

Development

Automated Dependency Tracking

This project uses an automated dependency tracking system to monitor major version updates for critical dependencies (ractor, chrono, cron, notify). The system:

  • Runs weekly (every Monday at 10:00 AM UTC)
  • Checks crates.io for major version updates
  • Automatically creates PRs with version bumps
  • Bumps ractor_actors version (minor bump for major dependency updates)

Manual Testing

You can manually trigger the dependency checker:

# Dry run - shows what would be updated
cargo xtask check-deps --dry-run

# Local test - creates branch and commits but doesn't push
cargo xtask check-deps --no-push

# Full run (CI mode) - creates PRs
cargo xtask check-deps --ci

Configuration

The dependency tracker is configured in .github/dependency-tracker.yml:

dependencies:
  ractor:
    enabled: true
    track: major
    bump_strategy: minor

See the workflow file for implementation details.

Contributors

To learn more about contributing to ractor please see CONTRIBUTING.md.

License

This project is licensed under MIT.

About

Common utility actors built with Ractor

Resources

Contributing

Stars

38 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages