所以我有一个子进程exec函数,该函数向Splunk发出多个发布请求。我希望此功能在发出GET请求之前完成。以前,一切都很棒,但是由于某些原因,突然之间exec post请求的速度变慢了。
我尝试使函数异步,然后在exec(上使用await(),但是没有用。我想它与for循环有关
const splunk_post_request = () => {
console.log("POST Status Ok");
for (let i = 0; i < splunk_query_array.length; i++) {
exec(
`curl -H "Authorization: Basic @#$@#%@#$@#$" -k ${post_url} -d search="search ${splunk_query_array[i]}" -d output_mode=json -d id=${real_sid_array[i]} -d adhoc_search_level=fast -d earliest_time=-${splunk_hours[i]}
-d max_count=10`,
(error, stdout, stderr) => {
if (stderr) {
console.log(stderr);
}
console.log(
splunk_query_array[i] +
"Sid Arr Val " +
real_sid_array[i] +
" hours " +
splunk_hours[i]
);
console.log("stdout is ", stdout);
if (error) {
console.log("exec error: ", error);
}
}
);
}
};
现在POST请求运行缓慢,get方法(正在使用setInterval)首先启动,由于尚未发出Post请求,因此显然无法获取数据。