Skip to content

Instantly share code, notes, and snippets.

@f0r34chb3t4
Forked from CMCDragonkai/parallel_curl.sh
Created January 22, 2017 09:21
Show Gist options
  • Save f0r34chb3t4/f6743019028b09e1fe3b456472573f93 to your computer and use it in GitHub Desktop.
Save f0r34chb3t4/f6743019028b09e1fe3b456472573f93 to your computer and use it in GitHub Desktop.
Bash: GNU Parallel with Curl
# do it once
seq 1 | parallel -n0 "curl -H 'Content-Type: application/json' http://httpbin.org/post -X POST -d '{\"url\":\"http://google.com/\"}'"
# do it twice
seq 2 | parallel -n0 "curl -H 'Content-Type: application/json' http://httpbin.org/post -X POST -d '{\"url\":\"http://google.com/\"}'"
# do it 4 times, but at 2 a time
seq 4 | parallel -n0 -j2 "curl -H 'Content-Type: application/json' http://httpbin.org/post -X POST -d '{\"url\":\"http://google.com/\"}'"
# you can also put all your commands into a file
echo "ls\nls" > somefile
cat somefile | parallel
# finally, just straight command line parameters
parallel echo ::: a b c
# by default, it runs as many jobs in parallel as there are cores in your computer
# if you try and set more jobs than there are cores, they will be concurrent, but
# they will only ever be parallel up to your core count
# for httpie use the --ignore-stdin flag, or else it gets mixed up
seq 1 | parallel -n0 "http --ignore-stdin POST http://httpbin.org/post url=http://google.com/"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment