我有一个bash脚本将数据上传到网站.我的上传速度很慢,所以我开始使用xargs和-N1同时并行运行它.
但是,问题是服务器要求我解决验证码,如果我一次运行5,而它一次正常工作1.
我认为这是因为所有进程都在同一时间开始,我正在被标记.
无论如何所以这就是问题,有没有办法让我在xargs / gnu parallel中的启动进程之间添加等待(比如1秒)?
我唯一能想到的是使用pgrep脚本| wc -1计算脚本实例,并睡眠该秒数.
但是,这真的不是最佳的,有没有更好的方法呢?
解决方法:
如果上传需要一个随机的时间,你只需要前5个开始延迟1-5秒:
cat list | parallel -j5 [ {#} -lt 6 ] \&\& sleep {#}\; upload {}