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

发布时间:2024年01月24日

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

首先,确保你已经安装了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.处理任务结果

文章来源:https://blog.csdn.net/babybin/article/details/135716854
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。