示例将展示如何创建一个简单的任务、将其放入队列中,并由工作进程执行。
首先,确保你已经安装了Redis并且它正在运行。接下来,你需要安装RQ和Redis库,可以使用pip来安装:
pip install rq redis
一旦安装完成,你就可以开始编写代码了。以下是一个简单示例:
首先,定义一个可以被队列执行的任务。例如,一个简单的函数,它接受一个参数并打印一条消息。
# task.py
def say_hello(name):
print(f"Hello, {name}!")
return name
然后,在另一个文件中,创建一个队列并将任务加入到这个队列中。
# 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')
最后,你需要启动一个或多个工作进程来处理队列中的任务。这通常是在命令行中完成的。在你的项目目录中打开终端,运行以下命令:
rq worker
这个命令会启动一个RQ工作进程,自动连接到本地的Redis服务器,并开始执行队列中的任务。
运行main.py
,任务say_hello
被加入到队列中。RQ工作进程将检测到队列中的新任务,执行它,并且在控制台中打印出“Hello, World!”。
----- 完 ----
todo:
1.增加更多的worker
2.处理更复杂的任务
3.设置任务的优先级
4.处理任务结果