lel*_*uch 5 linux parallel-processing bash shell xargs
我有一个bash脚本可将数据上传到站点。我的上传速度越来越慢,因此我开始使用xargs和-N1并行运行它,同时运行5个。
但是,问题是服务器是否要求我解决一次验证码,如果我一次运行5次,而一次运行1次则可以正常工作。
我认为这是因为所有进程都完全在同一时间启动,因此我被标记了。
无论如何,这就是问题所在,我有什么办法可以在xargs / gnu并行启动过程之间添加等待时间(例如1秒)吗?
我唯一想出的就是使用pgrep脚本| wc -1来计算脚本实例,并休眠该秒数。
但是,这实际上不是最佳选择,是否有更好的方法呢?
如果上传需要随机时间,您只需要前 5 个开始,延迟 1-5 秒:
cat list | parallel -j5 [ {#} -lt 6 ] \&\& sleep {#}\; upload {}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3041 次 |
| 最近记录: |