RQ 一个轻量级Python队列使用记录

资源

安装

pip install rq

使用

创建任务

import redis
from rq import Queue, Retry

redis_client = redis.Redis(
    host='127.0.0.1',
    port=6379,
    db=1
)
q = Queue(connection=redis_client)

q.enqueue(url_test, url, job_timeout='1m', retry=Retry(max=3, interval=30))
  • url_test 表示要执行的函数,碰到过写在当前文件时,函数调用报错的现象,可以放在其他文件中导入进来。
  • url 是传递给函数的参数,多个参数使用 args=(url, ) 或者 kwargs={'url':url}
  • job_timeout 单个任务允许执行的最大时间,给整数就是秒,也可以使用 5s、1m 这样的字符串
  • retry 可以设定重试机制

启动队列

rq worker --url redis://127.0.0.1:6379/1 --with-scheduler

  • 通过 url 指定 redis 连接配置
  • --with-scheduler 表示启用延时队列
  • Redis 连接配置的格式为 redis://:password@hostname:port/db_number 所以有密码时如: redis://:[email protected]:6379/6

可以参考以下文件,在服务启动时批量创建队列

#!/bin/sh

cd /home/service/dvdfab_page_generator/
nohup python3.8 app.py 9999 crond> /dev/null 2>&1 &

nohup rq worker --url redis://127.0.0.1:6379/8 --with-scheduler > /dev/null 2>&1 &
nohup rq worker --url redis://127.0.0.1:6379/8 --with-scheduler > /dev/null 2>&1 &
nohup rq worker --url redis://127.0.0.1:6379/8 --with-scheduler > /dev/null 2>&1 &
nohup rq worker --url redis://127.0.0.1:6379/8 --with-scheduler > /dev/null 2>&1 &
nohup rq worker --url redis://127.0.0.1:6379/8 --with-scheduler > /dev/null 2>&1 &
nohup rq worker --url redis://127.0.0.1:6379/8 --with-scheduler > /dev/null 2>&1 &
nohup rq worker --url redis://127.0.0.1:6379/8 --with-scheduler > /dev/null 2>&1 &
nohup rq worker --url redis://127.0.0.1:6379/8 --with-scheduler > /dev/null 2>&1 &
nohup rq worker --url redis://127.0.0.1:6379/8 --with-scheduler > /dev/null 2>&1 &
nohup rq worker --url redis://127.0.0.1:6379/8 --with-scheduler > /dev/null 2>&1 &

相应的结束文件

ps -ef | grep "app.py 9999" |grep -v grep | awk '{print $2}' | xargs kill -9
ps -ef | grep 'rq worker' | grep -v grep | awk '{print $2}' | xargs kill -9

查看队列情况

rq info --url redis://127.0.0.1:6379/8

重新执行失败的任务

rq requeue --queue default --url redis://127.0.0.1/8 --all

官方的监控平台

docker pull eoranged/rq-dashboard
docker run -p 9181:9181 --env RQ_DASHBOARD_REDIS_URL='redis://10.10.2.225:6379/8' eoranged/rq-dashboard

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇