arq作业队列的Prometheus度量
项目描述
Arq-prometheus
Prometheus度量,用于arq
⚠️ 警告!这是一个处于alpha阶段的项目 ⚠️
安装
pip install -U arq-prometheus
poetry add arq-prometheus
描述
公开的度量与健康检查相同。
度量名称 | 描述 |
---|---|
arq_jobs_completed |
完成作业的数量 |
arq_jobs_failed |
出错作业总数 |
arq_jobs_retried |
重试作业总数 |
arq_ongoing_jobs |
正在进行的作业数量 |
arq_queued_inprogress |
正在进行的作业数量 |
在与arq
一起工作时,我发现了一些限制,特别是要获取工作者的访问权限以检索诸如queue_name
或health_check_key
之类的信息非常困难。启动和关闭函数仅提供包含Redis连接的ctx
。这意味着如果您提供了自定义的queue_name
或health_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.timedeltaenable_webserver: bool = True
:如果需要公开指标,请将此设置为 Trueaddr: str = "0.0.0.0"
:web服务器地址port: int = 8081
:web服务器端口registry: prom.CollectorRegistry = prom.REGISTRY
:Prometheus 注册表,通常您不需要覆盖此值
项目详情
关闭
arq_prometheus-0.3.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2a4f21543150390170ffb484d9c959e92eb6977859fdf61d4afe8fbc0433954e |
|
MD5 | 6a815bad172eca2cf4edc9efd8c165a2 |
|
BLAKE2b-256 | ebf32a052bede18cfba7308bde19be21f9e4b002c8a97d2435127fb175d75450 |
关闭
arq_prometheus-0.3.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ea19b1fe9d547a757e410496bed34f03f26a2c6c259c6ece76145d331ece80e3 |
|
MD5 | a17f2d2928f699dd383b8bfde077faef |
|
BLAKE2b-256 | 00a9376d34a65805b62b0467c45cbac4f0978cf8ee4ef5a4d2ba638042c3dcfc |