perl - Perl:如何在处理下一个之前等待 curl 步骤完成
问题描述
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"
}
状态可以是:“DONE”、“FAIL”或“PROCESSING”。当状态为“PROCESSING”时,我不想退出程序并再次运行它。相反,我想等到状态为“DONE”,然后通过上一步的响应“export-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;
}
推荐阅读
- r - 使用 strsplit 拆分文本
- sql - 有什么方法可以使用原始 sql 还是我被 laravel-eloquent 困住了?
- mysql - os Catalina 和 Laravel Homestead MySql 错误:错误 2007 (HY000):协议不匹配;服务器版本 = 11,客户端版本 = 10
- mysql - 我正在尝试加入其中一个表中不存在用户记录的表
- windows - 如果内存中只有一个 DLL 副本,如何将其加载到应用程序的内存空间中?
- c# - File.Create和ghost文件
- python - 查找两个字符正则表达式之间的内容?
- c# - 使用 Cognito 用户池 ID 在 AWS 上调用 graphql api
- python - 如何根据以前的列填充 NaN 值
- java - 使用 PDFBox AnnotationconstructAppearances() 方法获取 OutOfMemoryError