কোনও বিদ্যমান সরঞ্জাম আছে, যা খারাপ সংযোগের জন্য বড় ফাইলগুলি ডাউনলোড করতে ব্যবহার করা যেতে পারে?
আমাকে নিয়মিত তুলনামূলকভাবে একটি ছোট ফাইল ডাউনলোড করতে হবে: 300 এমবি, তবে ধীর (80-120 কেবিট / সেকেন্ড) টিসিপি সংযোগটি এলোমেলোভাবে 10-120 সেকেন্ড পরে ব্রেক হয়। (এটি একটি বড় কোম্পানির নেটওয়ার্ক।
এখনও অবধি আমি প্যাকরুলের একটি পরিবর্তিত সংস্করণ ব্যবহার করেছি: https://github.com/brunoborges/pcurl
আমি এই লাইনটি পরিবর্তন করেছি:
curl -s --range ${START_SEG}-${END_SEG} -o ${FILENAME}.part${i} ${URL} &
এটি:
curl -s --retry 9999 --retry-delay 3 --speed-limit 2048 --speed-time 10 \
--retry-max-time 0 -C - --range ${START_SEG}-${END_SEG} -o ${FILENAME}.part${i} ${URL} &
আমাকে যুক্ত করতে হয়েছিল --speed-limit 2048 --speed-time 10
কারণ সংযোগটি বেশিরভাগ মিনিটের জন্য স্থির থাকে যখন এটি ব্যর্থ হয়।
তবে সম্প্রতি এমনকি এই স্ক্রিপ্টটি সম্পূর্ণ করতে পারে না।
একটি সমস্যা হ'ল এটি -C -
অংশটিকে উপেক্ষা করার মতো বলে মনে হচ্ছে , তাই এটি পুনরায় চেষ্টা করার পরে বিভাগটি "চালিয়ে" যায় না। এটি সম্পর্কিত টেম্প ফাইলটি কেটে ফেলা বলে মনে হয় এবং প্রতিটি ব্যর্থতার পরে শুরু থেকেই শুরু হয়। (আমি মনে করি --range
এবং -C
বিকল্পগুলি একসাথে ব্যবহার করা যাবে না))
অন্য সমস্যাটি হ'ল এই স্ক্রিপ্টটি একই সাথে সমস্ত বিভাগগুলি ডাউনলোড করে। এটিতে 300 টি বিভাগ থাকতে পারে না যার মধ্যে একবারে 10 টি ডাউনলোড করা হচ্ছে।
আমি এই নির্দিষ্ট উদ্দেশ্যে সি # তে একটি ডাউনলোড সরঞ্জাম লেখার কথা ভাবছিলাম, তবে যদি কোনও বিদ্যমান সরঞ্জাম থাকে বা কার্ল কমান্ডটি বিভিন্ন পরামিতিগুলির সাথে সঠিকভাবে কাজ করতে পারে তবে আমি কিছু সময় ব্যয় করতে পারতাম।
আপডেট 1: অতিরিক্ত তথ্য: সমান্তরাল ডাউনলোড কার্যকারিতা অপসারণ করা উচিত নয়, কারণ তাদের সংযোগ প্রতি ব্যান্ডউইথ সীমা (80-120 কেবিটস / সেকেন্ড, বেশিরভাগ 80) রয়েছে, সুতরাং 10 সংযোগগুলি 10 বার স্পিডআপের কারণ হতে পারে। আমাকে ১ ঘন্টা মধ্যে ফাইল ডাউনলোড শেষ করতে হবে, কারণ ফাইলটি প্রতি ঘন্টা তৈরি করা হয়।
rsync
(যা আপনাকে স্থানান্তর পুনরায় আরম্ভ করতে দেবে)?lftp
এছাড়াও স্বয়ংক্রিয়ভাবে সংক্রমণ পুনরায় চালু করার অনুমতি দেয়।