跳转到主要内容

arq作业队列的Prometheus度量

项目描述

Arq-prometheus

Build status PyPI Package latest release PyPI Package download count (per month) Supported versions Codecov

Prometheus度量,用于arq

⚠️ 警告!这是一个处于alpha阶段的项目 ⚠️

安装

Pip

pip install -U arq-prometheus

Poetry

poetry add arq-prometheus

描述

公开的度量与健康检查相同。

度量名称 描述
arq_jobs_completed 完成作业的数量
arq_jobs_failed 出错作业总数
arq_jobs_retried 重试作业总数
arq_ongoing_jobs 正在进行的作业数量
arq_queued_inprogress 正在进行的作业数量

在与arq一起工作时,我发现了一些限制,特别是要获取工作者的访问权限以检索诸如queue_namehealth_check_key之类的信息非常困难。启动和关闭函数仅提供包含Redis连接的ctx。这意味着如果您提供了自定义的queue_namehealth_check_key,您也必须将它们提供给ArqPrometheusMetrics

用法

# example_worker.py
from arq_prometheus import ArqPrometheusMetrics

async def startup(ctx):
    arq_prometheus = ArqPrometheusMetrics(ctx, delay=delay)
    ctx["arq_prometheus"] = await arq_prometheus.start()

async def shutdown(ctx):
    await ctx["arq_prometheus"].stop()

class WorkerSettings:
    on_startup = startup
    on_shutdown = shutdown
    function = []  # your arq jobs
    ... # other settings

启动您的arq工作进程,

arq example_worker.WorkerSettings

localhost:8081发出请求(或在其浏览器中打开)。

curl localhost:8081

参数

  • ctx: dict:arq上下文
  • queue_name: str = default_queue_name:arq队列名称
  • health_check_key: Optional[str] = None:arq健康密钥
  • delay: datetime.timedelta = datetime.timedelta(seconds=5):datetime.timedelta
  • enable_webserver: bool = True:如果需要公开指标,请将此设置为 True
  • addr: str = "0.0.0.0":web服务器地址
  • port: int = 8081:web服务器端口
  • registry: prom.CollectorRegistry = prom.REGISTRY:Prometheus 注册表,通常您不需要覆盖此值

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

arq_prometheus-0.3.0.tar.gz (8.2 kB 查看哈希值)

上传时间

构建分发

arq_prometheus-0.3.0-py3-none-any.whl (9.1 kB 查看哈希值)

上传时间 Python 3