Wget: সময়সীমার পরে অপেক্ষা করুন?


1

আমি এই বিকল্পটি দেখছি:

--waitretry=seconds

আপনি Wget মধ্যে অপেক্ষা করতে চান না   প্রতি পুনরুদ্ধার, কিন্তু শুধুমাত্র মধ্যে   ব্যর্থ ডাউনলোডের retries, আপনি পারেন   এই বিকল্প ব্যবহার করুন। Wget রৈখিক ব্যবহার করবে   backoff, অপেক্ষা করার পর 1 সেকেন্ড   তারপর একটি প্রদত্ত ফাইল প্রথম ব্যর্থতা   দ্বিতীয় সেকেন্ড অপেক্ষা করছে   যে ফাইল ব্যর্থতা আপ   আপনি নির্দিষ্ট সেকেন্ডের সর্বোচ্চ সংখ্যা।   অতএব, একটি মান আসলে 10 হবে   Wget আপ অপেক্ষা করুন (1 + 2 + ... +   10) = ফাইল প্রতি 55 সেকেন্ড।

ডিফল্টরূপে, Wget 10 সেকেন্ডের মান ধরবে।

কিন্তু এটি (ক) এটি পুনরায় চেষ্টা প্রচেষ্টাগুলির মধ্যে সময় বাড়ানো বলে মনে হচ্ছে না এবং (খ) আমি অপেক্ষা করার জন্য "সর্বাধিক" সময় সেট করতে চাই না, তবে সর্বনিম্ন।

--timeout=seconds

সেকেন্ড সেকেন্ডে নেটওয়ার্ক সময়সীমা সেট করুন। এই সমতুল্য   উল্লেখ --dns-timeout, --connect-timeout, এবং --read-timeout, সব একই   সময়।

নেটওয়ার্কের সাথে ইন্টারঅ্যাক্ট করার সময়, Wget সময়সীমা এবং বাতিল করতে পারেন চেক করতে পারেন   এটি খুব দীর্ঘ লাগে অপারেশন।   এই ঝুলন্ত মত বৈষম্য বাধা দেয়   পড়া এবং অসীম সংযোগ। একমাত্র   ডিফল্ট সময়সীমার সক্রিয় একটি   900-সেকেন্ড পড়ার সময়সীমা। একটি সেটিং   0 সময়সীমা এটি একেবারে নিষ্ক্রিয় করে।   যদি না আপনি জানেন কি করছেন, এটা   ডিফল্ট পরিবর্তন না সেরা   সময়সীমা সেটিংস।

সমস্ত সময়সীমার সাথে সম্পর্কিত বিকল্পগুলি দশমিক মানগুলি, সেইসাথে উপসেকেন্ড গ্রহণ করে   মান। উদাহরণ স্বরূপ, 0.1 সেকেন্ড   একটি আইনি (যদিও বুদ্ধিমান) পছন্দ   সময় শেষ. সাবস্ক্যান্ড সময়সীমা দরকারী   সার্ভার প্রতিক্রিয়া বার বা চেক করার জন্য   নেটওয়ার্ক বিলম্বিত পরীক্ষার জন্য।

এই ছেড়ে দেওয়ার আগে সময় পরিমাণ সেট বলে মনে হয়।

তাহলে আমি কীভাবে বলব "সংযোগের সময় শেষ হলে আবার চেষ্টা করার 10 মিনিট অপেক্ষা করুন"?

উত্তর:


2

আপনি পুনরায় চেষ্টা নিষ্ক্রিয় করতে পারে (-0 0) এবং Wget রিটার্ন মান চেক করুন। উদাহরণস্বরূপ ব্যাশ ব্যবহার করার সময়:

failures=0
while [ $failures -lt 10 ]; do
 wget -t 0 http://www.example.com/asdf
 if [ "$?" = 0 ]; then
  break
 else
  let failures=failures+1
  sleep 600
 fi
done

Wget এর ব্যর্থতার মূল্য যাচাই করবে এবং wget ব্যর্থ হলে 600 সেকেন্ড ঘুমাবে। ফাইল ডাউনলোড (এবং সংরক্ষিত) সফলভাবে 0 wget ফিরে। এই ছোট স্ক্রিপ্টটি শুধুমাত্র দশ বার চালায় - অবশ্যই আপনি লুপের সময় যুক্তি পরিবর্তন করতে পারেন। অন্যথায় উদাহরণস্বরূপ স্ক্রিপ্টটি একই ফাইলটি অনির্দিষ্টকালের জন্য ডাউনলোড করার চেষ্টা করবে, এমনকি যদি এটি বিদ্যমান না থাকে। বিভিন্ন শেল ব্যবহার করে চলমান ছোট পরিবর্তন প্রয়োজন (উদাহরণস্বরূপ আপনি "লেট" ব্যবহার করতে পারবেন না, কিন্তু সাধারণত expr ভাল প্রতিস্থাপন)।


Hrm ... এটা যদিও একটি recursive কাজ। এটা সব সময় সব শুরু করতে হবে।
mpen

তারপর আপনি অন্তত wget সঙ্গে ভাগ্য আউট হয়। অবশ্যই যদি আপনি কয়েকটি ছোট কাজগুলিতে পুনরাবৃত্তিমূলক কাজটি বিভক্ত করতে পারেন তবে শুরুতে ছোট সমস্যা হয়।
Olli
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.