Skip to content

rq

核心内容总结:
RQ(Redis Queue)是一个基于Redis或Valkey的Python任务队列库,用于将耗时任务放入后台异步处理,适用于各类规模的应用。主要功能包括:

  • 任务管理:通过定义函数并加入队列实现异步执行,支持优先级设置(如队列头部插入或多队列分层)。
  • 调度与重复任务:可定时执行任务(如enqueue_atenqueue_in),或通过Repeat类重复执行任务。
  • 失败重试:支持配置重试次数及间隔时间,提升任务可靠性。
  • 周期性任务:支持间隔时间或Cron表达式定义的定时任务,通过配置文件和rq cron命令运行。
  • 工人管理:使用rq worker启动后台处理进程,生产环境可通过worker-pool管理多进程。
  • 性能优化:提供SimpleWorker(更快但无隔离)和Worker(更安全但稍慢)两种模式,根据场景选择。

使用方法

  1. 安装依赖:pip install rq
  2. 启动Redis服务器。
  3. 定义任务函数,创建队列并加入任务。
  4. 通过命令行启动工人(如rq worker default)处理任务。
  5. 高级功能需配置队列优先级、调度参数或Cron规则。