ஒவ்வொரு வேலைக்கும் தொடங்கப்படும் shell இன் உள்ளே சீரற்ற தேர்வை வைக்கவும். வெளிப்புற shell இல் கட்டளை மாற்றீட்டை விரிவாக்கினால், xargs தனது வேலையைத் தொடங்கும் முன்பே மதிப்பு தேர்ந்தெடுக்கப்படும்.

ஒவ்வொரு வரியிலும் ஒரு ப்ராக்ஸி URL உள்ள சரிபார்க்கப்பட்ட proxies.txt இருந்தால், பொதுப் பயனர்கள் இலவச ப்ராக்ஸி பட்டியலில் இருந்து பெறலாம்; ஒவ்வொரு உள்ளீட்டையும் curl ஆதரிக்கும் நெறிமுறையில் அமைக்கவும்:

printf '%s\0' 'https://a.example/one' 'https://b.example/two' |
  xargs -0 -n 1 -P 4 sh -c '
    proxy=$(shuf -n 1 proxies.txt) || exit 1
    [ -n "$proxy" ] || exit 1
    curl --fail --silent --show-error --max-time 30 \
      --proxy "$proxy" --noproxy "" --output /dev/null "$1"
  ' _

-n 1 ஒவ்வொரு கட்டளைக்கும் ஒரு URL ஐ வழங்குகிறது, -P 4 ஒரே நேரத்தில் நான்கு கட்டளைகள் வரை அனுமதிக்கிறது. பூஜ்ஜியத்தால் பிரிக்கப்பட்ட உள்ளீடு URL ஐ ஒரு ஆர்குமெண்டாக வைத்திருக்கிறது. அடிக்கோடு sh இன் $0 இடத்தை எடுத்து, URL ஐ $1 இல் விட்டுவிடும்.

ஒவ்வொரு குழந்தை shell உம் shuf ஐத் தனித்து இயக்குகிறது. சீரற்ற தேர்வு ஒரே ப்ராக்ஸியை ஒன்றுக்கு மேற்பட்ட முறை தேர்ந்தெடுக்கலாம்; இது சுழற்சி திட்டமிடல் அல்ல, வேறுபட்ட வெளியேறும் முகவரிகளுக்கான உத்தரவாதமும் அல்ல.

வெளிப்படையாக காலியான தவிர்ப்பு பட்டியல், மரபுவழியாக வந்த no_proxy அமைப்பு தேர்ந்தெடுக்கப்பட்ட இடைத்தரகரைத் தவிர்க்காமல் தடுக்கிறது. எடுத்துக்காட்டு பதில் உடல்களை நிராகரிக்கிறது; ஒரே நேர பதிவிறக்கங்களைச் சேமிக்கும்போது தனி வெளியீட்டுப் பாதைகளைப் பயன்படுத்தவும்.

தொடர்புடைய கட்டுரைகள்