
监控&告警
我们建议在生产环境中使用监控工具例如 Prometheus 来监控你的工作进程和队列。 队列指标 如果你使用 Web UI,你可以通过传递两个参数来启用与 Prometheus 的集成: --enable-metrics-exporter:...
我们建议在生产环境中使用监控工具例如 Prometheus 来监控你的工作进程和队列。 队列指标 如果你使用 Web UI,你可以通过传递两个参数来启用与 Prometheus 的集成: --enable-metrics-exporter:...
本页面介绍如何配置asynq以利用Redis Sentinel来避免由于Redis故障而造成的停机时间。 先决条件 请阅读Redis Sentinel上的文档以了解该主题。 配置Asynq使用Redis Sentinels 配置asynq的...
本页面介绍了如何在Asynq中使用Redis Cluster作为消息代理。 使用Redis Cluster的优点 通过Redis Cluster,您可以获得以下优势: 能够将数据轻松地分片到多个Redis节点上 在某些节点故障时,仍能保持可...
本页面介绍了Asynq的任务聚合功能。 概述 任务聚合允许您将多个任务连续排队,而不是一个个地传递给“Handler”。该功能允许您将多个连续操作批量处理成一个,以节省成本、优化缓存或批量通知等。 工作原理 为了使用任务聚合功能,您需要将任...
任务保留 默认情况下,一旦任务成功通过Handler处理(即Handler.ProcessTask返回nil),该任务将从队列中删除。然而,如果你希望在任务完成后将其保留在队列中(例如,用于检查目的),你可以为任务指定保留期。 下面是一个使...
Asynq中的Unique任务功能可以确保在Redis队列中只有一个任务。 当您希望对任务进行去重,避免重复任务,这个特性就比较有用。 概述 有两种方法可以确保Asynq中任务的唯一性。 使用TaskID选项:自己生成唯一的任务ID 使用U...
配置 asynq 服务器实现任务处理速率限制的示例 本页显示了如何配置 asynq 服务器以实现任务处理的速率限制。 请注意,这是每个服务器实例的速率限制,而不是全局速率限制。 在这个示例中,我们将使用 golang.org/x/time/...
概述 你可以在Server的同时运行一个Scheduler来定期处理任务。Scheduler会定期将任务加入队列,然后由集群中可用的工作服务器来执行这些任务。 你需要确保每个调度只有一个Scheduler在运行,否则会出现重复任务。使用集中...
在本页面中,我将介绍如何设置任务的超时时间或截止时间,以及如何处理取消操作。 任务超时 当使用 Client 排队一个任务时,你可以指定 Timeout 或 Deadline 作为一个选项。这样,如果任务在超时时间或截止时间之前未被处理,服...
本页面介绍如何配置任务重试。 默认行为 默认情况下,asynq 将重试任务最多 25 次。每次重试任务时,它使用指数退避策略来计算重试延迟。如果一个任务耗尽了所有的重试次数(默认为 25 次),该任务将移动到归档中用于调试和检查目的,并且不...