You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Dramatiq CLI配置Worker空闲唤醒超时时间?

解决Dramatiq Worker空闲唤醒超时的CLI设置问题

目前Dramatiq官方CLI没有直接提供设置worker_timeout(队列空闲后Worker唤醒间隔,单位毫秒)的参数,但可以通过两种方式实现需求:

1. 自定义启动脚本替代官方CLI

放弃使用dramatiq命令启动Worker,自己写Python脚本直接创建Worker实例并指定超时值,示例代码如下:

import dramatiq
from dramatiq.brokers.rabbitmq import RabbitmqBroker  # 根据你的Broker类型替换
from dramatiq.worker import Worker

# 初始化消息Broker
broker = RabbitmqBroker(url="amqp://localhost:5672")
dramatiq.set_broker(broker)

# 这里放你的任务定义
@dramatiq.actor
def sample_task():
    print("执行任务")

# 创建Worker,设置空闲唤醒超时为100毫秒(按需调整)
worker = Worker(broker, worker_timeout=100)
worker.run()

运行这个脚本即可启动自定义配置的Worker,直接控制唤醒间隔。

2. 修改CLI源码(临时方案,不推荐)

如果必须使用官方CLI,可以修改dramatiq/cli.py中的worker_process函数,在创建Worker的代码里添加worker_timeout参数。找到创建Worker的行,修改为:

worker = Worker(broker, worker_timeout=你的目标毫秒数, ...保留原有其他参数...)

注意:这种修改会在Dramatiq版本升级时被覆盖,仅适合临时测试场景。

官方文档相关内容翻译

Worker类核心参数说明:

  • worker_timeout:当队列无任务时,Worker每隔该时长唤醒一次检查新任务,单位为毫秒,默认值为1000。

内容的提问来源于stack exchange,提问作者Ivy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 23:28:15