Sonatype 的 Nexus 存储库服务器提供了经典的 REST API。当通过 REST API 触发操作时,调用会立即返回,通过其状态码指示操作是否已成功启动。我正在寻找一种方法来检测工作是否以及何时成功完成。
在我的具体情况下,我正在启动一个备份任务,它以序列化格式将配置数据库写入磁盘:
curl -X POST "$mynexus/service/rest/v1/tasks/$task-id/run" -H "accept: application/json"
立即返回 204“任务已运行”。
但是,在那之后的几分钟,手动检查表明该任务创建的磁盘文件仍在增长。当然,我可以尝试观察输出lsof直到该任务似乎完成,但这非常不切实际,需要对服务器的 root 访问权限,并且还会破坏 REST 设计。
这里的一个类似问题自 2016 年以来一直没有得到答案,所以我会以更笼统的方式提问,希望答案更普遍适用:
与 Sonatype Nexus 3.x 系列服务器通信时,REST 客户端如何检测到服务器端的操作已完全完成?
如果没有这种方法,您会认为 Nexus 存在问题,还是建议创建自定义解决方法?