【问题标题】:How to handle postman monitor timeout issue when monitor running a collection exceeds 5min of total time当监视器运行集合的总时间超过 5 分钟时如何处理邮递员监视器超时问题
【发布时间】:2019-11-07 11:30:15
【问题描述】:
我为邮递员 API 设置了一个监视器(大约 200 个请求,每个请求都设置了 1.5 秒的超时)集合,但是我看到它超时并出现以下错误:
Error: callback timed out
我注意到监视器启动时的时间戳以及因此问题而失败的时间戳,它似乎恰好在 5 分钟处超时。因此它没有运行集合中的所有 api。
是否有替代方案来解决这种情况?我相信 5 分钟是邮递员监视器平台的限制,但想知道是否有办法设置监视器,可能只是我设置了监视器的这个主集合中的一个子集合文件夹。
【问题讨论】:
标签:
postman
monitoring
postman-collection-runner
【解决方案1】:
如here 所示,每次监视器运行的时间限制为 5 分钟。除此之外,您的监视器将停止运行集合,并且正如您已经提到的,您的某些 API 端点将不会被命中。
但是,仍然可以覆盖所有 API 端点,尽管需要使用多个监视器:
邮递员 API
您可以使用Postman API 来触发使用 HTTP 请求的监视器。
第 1 步:分解您的收藏
假设您的 Postman 集合有 200 个请求。假设监视器执行的请求不超过 70 个(平均)。
- 将您的集合 (C) 分成 4 个不同的集合,每个集合包含 50 个请求,同时确保这 50 个请求在 5 分钟内运行。让我们将这些集合称为 C1、C2、C3、C4,并且在 C 中排列请求的顺序要求新集合按照
C1 -> C2 -> C3 -> C4 的顺序运行。
注意:监控运行是有价格的,你如何分解你的收藏可以决定你的监控成本。
- 为 C1、C2、C3 和 C4(M1、M2、M3、M4)中的每一个创建一个监视器,并将其设置为在用于 C 的相同环境中运行。
第 2 步:在每个集合的末尾添加监视器触发器
- 如前所述,您可以使用 Postman API 通过 HTTP 请求触发监视器。
- 因此,作为 C1 的最后一个请求,创建一个包含触发监视器的端点的请求,并将其设置为触发 M2。 (你可以在这里学习如何做到这一点:https://docs.api.getpostman.com/?version=latest#5b277ca0-7114-e04e-f1f5-246fbbd6d973)
- 作为 C2 的最后一个请求,创建一个触发 C3 的请求,以此类推。
监控运行
- 当您手动或通过设置触发 M1 时,C1 中的请求运行,运行器到达 C1 的最后一个请求。
- 在这里,您与希望 M2 现在运行的 Postman API 进行通信。
- M2 现在开始运行,运行器现在到达 M2 的最后一个请求,这会触发 M3。
- 最终,M4 完成运行,您的所有 API 端点都已命中。