perl如何在处理下一步之前等待一步?
例如
我有一个命令(检查上一个数据上传步骤的状态(:
curl -H "Content-Type: application/json" -H "Authorization: Bearer DS_12345" -X GET https://api.xxx
答案是:
{
"method":"a",
"users":["user@xxx.com "],
"status":"DONE",
"export-url":"https://api.xxx/v1/export/DP_6789xxx"
}
状态可以是:"完成"、"失败"或"正在处理"。当状态为"正在处理"时,我不想退出程序并再次运行它。相反,我想等到状态为"完成",然后采取响应"导出url"来进行下一步:"https://api.xxx/v1/export/DP_6789xxx"。(当它为"FAIL"时,报告并退出(
curl -H "Content-Type: application/json" -H "Authorization: Bearer DS_12345" -X GET https://api.xxx/v1/export/DP_6789xxx?view=xml
谢谢你的回复。
使用while循环:
my $result = 'PROCESSING';
while ($result eq 'PROCESSING') {
my $response = ... #
$result = $response->{status};
sleep 5;
}