প্রসঙ্গ: মাইক্রোসফ্ট অ্যাজুরে; উইন্ডোজ সার্ভার 2012 আর 2।
সিডিউলারে আমার কয়েকটি সংখ্যক টাস্ক রয়েছে। সবগুলি চিহ্নিত করা হয়েছে, সেটিংস ট্যাবে, "যদি টাস্কটি ইতিমধ্যে চলমান থাকে, তবে নিম্নলিখিত নিয়মটি প্রয়োগ করা হয়: 'নতুন উদাহরণ শুরু করবেন না'"।
এটি কয়েক দিনের জন্য ঠিক আছে। তারপরে শিডিয়ুলার চলতে থাকে যখন প্রতিটি টাস্কের একটি নতুন উদাহরণ শুরু হয়। এগুলি ইতিমধ্যে চলমান কার্যের পাশে টাস্ক ম্যানেজারে প্রদর্শিত হবে তবে "সাসপেন্ডেড" হিসাবে চিহ্নিত হয়েছে।
এটি সিস্টেম অস্থিরতার একটি সাধারণ চিহ্ন বলে মনে হচ্ছে। এই আচরণের পৃষ্ঠপোষকতা হওয়ার খুব শীঘ্রই, এসকিউএল সার্ভারটি খারাপ ব্যবহার শুরু করে।
আমি একটি রক্ষণাবেক্ষণ স্ক্রিপ্ট লেখার প্রক্রিয়ায় আছি (যার পাশাপাশি শিডিয়ুলারও ব্যবহার করতে হবে, আরও বেশি করুণার বিষয়) যা উত্পাদন অ্যাপ্লিকেশনগুলির উদাহরণ গণনা করবে এবং একাধিক স্মৃতিতে থাকলে ডি টিমকে একটি এসএমএস পাঠাবে (এক চলমান , একজনকে সাময়িক বরখাস্ত করা হয়েছে)) এটি স্বল্পমেয়াদী কাজ। একটি দীর্ঘমেয়াদী ফিক্স আরও ভাল হবে।
কেউ কি এরকম কোনও কিছুর মুখোমুখি হয়েছেন এবং যদি তাই হয় তবে ঠিক কী?
পরামর্শের প্রতিক্রিয়া
আমি রাখতে পারি
var currProcName = Process.GetCurrentProcess().ProcessName;
if (Process.GetProcessesByName(currProcName).Length > 1)
{
Warn($"An instance of {currProcName} is already running. Only one instance of this application is allowed.");
return;
}
বা এটি সমস্ত এক্সের সমতুল্য। যাইহোক, বর্তমান সেটআপে, এটি কখনই কোনও সতর্কতা জোগায় না কারণ EXE এর দ্বিতীয় উদাহরণটি এর মতো চলতে পারে না তবে এটি "সাসপেন্ডেড" হিসাবে টাস্ক ম্যানেজারে উপস্থিত হয়।
তফসিলকারী চাকুরী শুরু করার অনুমতি দিচ্ছে যে এটি ইতিমধ্যে চলছে কিনা এবং এটি এক্সই নিজেই ডিটো টার্মিনাল প্রয়োজন যা চালানো উচিত কিনা তা কিছুটা অকার্যকর বলে মনে হয় কারণ প্রতিটি এক্সইইইচ চালু করা এবং সম্ভাব্যতার সাথে নির্ধারিত হওয়ার পরিবর্তে প্রতি মিনিটেই মারা যেতে পারে একটি প্রবর্তন প্রয়োজন বা না প্রয়োজন।
প্রায় 20 টি কার্য নির্ধারিত রয়েছে, কিছু প্রতি মিনিটে, কিছু প্রতি 5 টি, কিছু প্রতি 60।
# 1 মন্তব্যে জিজ্ঞাসিত প্রশ্নের জবাবসমূহ
প্রশ্ন: আপনি কোন ব্যাচ স্ক্রিপ্ট, একটি এক্সি ফাইল, পাওয়ারশেল স্ক্রিপ্ট, বা কিসের মতো টাস্ক শিডিয়ুলারের সাথে ঠিক চালাচ্ছেন?
উত্তর: কেবলমাত্র এক্সই, যেমন
<Actions Context="Author">
<Exec>
<Command>Handler.exe</Command>
<WorkingDirectory>C:\Web\Project</WorkingDirectory>
</Exec>
</Actions>
প্রশ্ন: সময়সূচী বিকল্পগুলির মধ্যে আপনার কীভাবে টাস্ক সেটআপ রয়েছে?
উত্তর: এক্সএমএল ফাইল থেকে নমুনা সেটিংস:
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>true</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
এক্সএমএল ফাইল থেকে নমুনা ট্রিগার
<Triggers>
<CalendarTrigger>
<Repetition>
<Interval>PT1M</Interval>
<Duration>P1D</Duration>
<StopAtDurationEnd>false</StopAtDurationEnd>
</Repetition>
<StartBoundary>2016-03-09T14:20:00</StartBoundary>
<ExecutionTimeLimit>PT30M</ExecutionTimeLimit>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
মন্তব্য # 2 এ জিজ্ঞাসা করা প্রশ্নের উত্তরগুলি
প্রশ্ন: আপনি কি এই কাজগুলিকে অক্ষম করে দিয়ে সক্ষম করেছেন?
উত্তর: আপডেটগুলি প্রয়োগ করার সময় টাস্কগুলি নিয়মিতভাবে অক্ষম থাকে এবং পুনরায় সক্ষম হয়।
প্রশ্ন: এক্সএমএল ফাইল থেকে কাজগুলি কি আমদানি করা হয়েছিল?
উত্তর: জিইআইআই ব্যবহার করে মূল কাজটি (অন্য সার্ভারে) তৈরি করা হয়েছিল। ফলাফল এক্সএমএলে রফতানি করা হয়েছিল, বর্তমান সার্ভারে স্থানান্তরিত হয়েছে, সম্পাদিত এবং আমদানিকৃত।
প্রশ্ন: আপনি যদি কাজটি পুনরায় তৈরি করেন তবে এটি কি সমস্যার সমাধান করে?
উঃ না।
প্রশ্ন: একটি প্রস্থান কোড দিয়ে টাস্কটি কি সমাপ্ত হবে?
উত্তর: আপনি যদি বোঝাতে চান "একটি পরিবেশের সাথে টাস্কটি কি সমাপ্ত হয়? ছাড়ুন (এন)?" তারপর হ্যাঁ. তবে, কার্যটি বৃহত্তর সিএমডি অংশের পরিবর্তে EXE হিসাবে সংজ্ঞায়িত করা হিসাবে মানটি পরীক্ষা করা হয় না।
প্রশ্ন: নতুন টাস্কটি শুরু হওয়ার কথা ঠিক যখনই নির্ধারিত কাজটি সমাপ্ত হয়?
উত্তর: আমি কীভাবে এটি স্থাপন করব?
প্রশ্ন: একই কাজটির দুটি উদাহরণ একই সাথে চলমান আপনি যে অস্থিরতাটি দেখছেন তা ব্যাখ্যা করতে পারে?
উত্তর: আমি নিশ্চিত না যে আমি প্রশ্নটি বুঝতে পেরেছি। কোনও মুহুর্তে আমরা দুটি দৃষ্টান্ত একই সাথে চালানোর অনুমতি দিই না। বর্তমান পরিস্থিতিটি হ'ল নিজস্ব পছন্দ করার সময়, উইন্ডোজ একটি দৃষ্টান্ত চালনার অনুমতি দেয় এবং অন্যটিকে "চালিত" মোডে চালানোর অনুমতি দেয়। মজার বিষয় হল, আমাদের বর্তমান অভিজ্ঞতা হ'ল স্থগিত কাজটি শেষ করা যাবে না। কেবল একটি চলমান কাজ শেষ করা যেতে পারে।