作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组要由 shell 脚本执行的 curl 命令。现在我想要的是所有这些命令必须以固定的时间间隔执行(每个 curl url 都不同)所以我想做的是异步调用
等待[秒]
针对不同的等待时间命令和执行不同的功能,例如
启动 5 个计时器,一个 120 秒,2 个 30 秒,3 个 3000 秒等。然后一旦它们完成,我想触发附加到每个超时的处理程序函数的执行。我可以在 javascript 和 nodejs 中轻松做到这一点,因为它们是事件驱动的编程语言。但我对 shell 脚本知之甚少。那么,我还能如何实现这个或 hotto 在 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
关于bash - 如何在 shell 脚本中进行异步函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24118224/
我是一名优秀的程序员,十分优秀!