一个基本的Redis Queue(RQ)示例

本文介绍了如何在Python中使用RQ库创建任务,将其放入Redis队列,以及启动工作进程执行任务。示例包括安装依赖、定义任务、创建队列和启动worker进行任务处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

示例将展示如何创建一个简单的任务、将其放入队列中,并由工作进程执行。

首先,确保你已经安装了Redis并且它正在运行。接下来,你需要安装RQ和Redis库,可以使用pip来安装:

pip install rq redis

一旦安装完成,你就可以开始编写代码了。以下是一个简单示例:

  1. 定义一个任务

    首先,定义一个可以被队列执行的任务。例如,一个简单的函数,它接受一个参数并打印一条消息。

    # task.py 
    def say_hello(name): 
        print(f"Hello, {name}!")    
        return name

  2. 创建一个队列并将任务加入到队列中

    然后,在另一个文件中,创建一个队列并将任务加入到这个队列中。

    # main.py 
    import redis 
    from rq import Queue 
    from task import say_hello 
    
    # 连接到本地Redis实例 
    redis_conn = redis.Redis() 
    q = Queue(connection=redis_conn) 
    
    # 将任务加入队列 
    job = q.enqueue(say_hello, 'World')
  3. 运行工作进程

    最后,你需要启动一个或多个工作进程来处理队列中的任务。这通常是在命令行中完成的。在你的项目目录中打开终端,运行以下命令:

    rq worker

这个命令会启动一个RQ工作进程,自动连接到本地的Redis服务器,并开始执行队列中的任务。

运行main.py,任务say_hello被加入到队列中。RQ工作进程将检测到队列中的新任务,执行它,并且在控制台中打印出“Hello, World!”。

----- 完 ----

todo:

1.增加更多的worker
2.处理更复杂的任务
3.设置任务的优先级
4.处理任务结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值