Schedule commands in Redis.
See the ./examples
folder.
Schedule a command (COMMAND
+ ARGS
) to execute in DELAY
seconds.
This returns the task's id (a v4 uuid).
Remove a task from a schedule by its id.
List all the tasks (id, timestamp, command) present in a schedule (do not includes the executed ones).
Delay a task even further
Speed up a task
Internal command to replicate/restore schedule from/to AOF.
Executes a task, triggering its command.
You can build the library with cargo:
cargo build --release
Simply load it in Redis as any other module:
redis-server --loadmodule ./target/release/libredelay.so
cargo t --features test
... Or ...
make test
make start-all
- RDB Support
- Validate commands on receive
- Cluster support
- Do not start/execute timers on replicas?
- Test coverage
- Fix all clippy warnings
- Suppress clippy error from redis-module
- Example with streams
- Create timers after AOF restore
- Move timer create/update into event module
- RDB integration tests
- Test for key removed
- Test for cluster replication
- Dead-letter