我有一组由 shell 脚本执行的curl 命令。现在我想要的是所有这些命令都必须以固定的时间间隔执行(每个curl url 都不同),所以我想做的是异步调用
wait [sec]
在不同的等待时间内命令并执行不同的功能,例如
启动 5 个计时器,其中一个 120 秒,2 个 30 秒,3 个 3000 秒,依此类推。
然后,一旦它们完成,我想触发附加到每个超时的处理程序函数的执行。
我可以用 javascript 和 nodejs 轻松地做到这一点,因为它们是事件驱动的编程语言。但我对 shell 脚本知之甚少。那么,我还能如何实现这个或在 shell 脚本中进行此类异步调用呢?
我不知道我是否说得足够清楚,如果我说得不够清楚,我还应该提及哪些细节?
需要尝试的东西:
delayed_ajax() {
local url=$1
local callback=$2
local seconds=$3
sleep $seconds
curl -s "$url" | "$callback"
}
my_handler() {
# Read from stdin and do something.
# E.g. just append to a file:
cat >> /tmp/some_file.txt
}
for delay in 120 30 30 3000 3000; do
delayed_ajax http://www.example.com/api/something my_handler $delay &
done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)