如何监控系统导入和导出过程

Anand Das
2023-01-22 11:06

当用户按描述触发系统导入或导出时在这里,他们最终在浏览器中看到的是一个加载圈。如果它们仍然在该页上,则加载循环将一直存在,直到作业完成,在这种情况下,将在UI中显示通知,指示作业成功完成。

用户添加图片

用户添加图片

但是,如果用户退出页面,作业将继续在后台运行,而加载圆圈将消失。用户甚至可以导航回导入/导出页面并触发一个新作业。

对于执行大型导入或导出操作的用户来说,保持页面打开通常是不可行的,或者很容易导航离开页面或意外关闭页面。因此,我们需要一种能够监视导入/导出作业的方法,以确保它实际上正在运行,以及它何时完成。

这可以通过使用后台任务REST API调用来实现,这需要一个管理用户。
curl -u admin:<密码> http:// Artifactory /api/tasks -o tasks.json

上面的REST API调用以JSON对象列表的形式获取正在运行的后台任务的完整列表,并将其保存到一个文件中。

一旦你有了这个任务。json文件,你可以在文本编辑器中打开它,搜索“导入”或“导出”,这取决于你正在运行的作业。如果作业仍在运行,您将遇到一个类似于下面所示的JSON对象。

id: artifactory。ExportJob # ae103c87 - 53 - f2 - 485 c - b56f 0 - a580caafe1e”,
"type": "org.artifactory.repo.service.ExportJob",
"state": "running",
"description": "导出存储库-已满(手动触发)",
"started": "2022-05-31T19:03:35.718Z"

如果所有导入和导出作业都已完成,则在搜索中找不到任何结果。

要再次检查系统导入或导出是否完成,请在您的artifact -service.log中查找以下行,这些行根据作业的不同而不同。

出口:

2022-05-31T19:05:29.982Z [jfrt] [INFO] [1f4ae676b5564ab7] [ifactoryApplicationContext:876] [http-nio-8081-exec-6] -完整系统导出完成成功。

进口:

2022-05-31T19:07:42.545Z [jfrt] [INFO] [4e30cef0c380b07b] [ifactoryApplicationContext:726] [http-nio-8081-exec-5] - ###完全系统导入完成###

如果在执行这些任务之一之后,您遇到了与导入或导出的数据不一致的情况,请检查人工服务日志中的错误,查看我们的知识库中关于遇到的任何错误的文章,如果需要,请联系JFrog支持。