মাইক্রোসফ্ট টাস্ক শিডিয়ুলারে ইনসিপিয়েন্ট অস্থিরতা?


3

প্রসঙ্গ: মাইক্রোসফ্ট অ্যাজুরে; উইন্ডোজ সার্ভার 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 হিসাবে সংজ্ঞায়িত করা হিসাবে মানটি পরীক্ষা করা হয় না।

প্রশ্ন: নতুন টাস্কটি শুরু হওয়ার কথা ঠিক যখনই নির্ধারিত কাজটি সমাপ্ত হয়?

উত্তর: আমি কীভাবে এটি স্থাপন করব?

প্রশ্ন: একই কাজটির দুটি উদাহরণ একই সাথে চলমান আপনি যে অস্থিরতাটি দেখছেন তা ব্যাখ্যা করতে পারে?

উত্তর: আমি নিশ্চিত না যে আমি প্রশ্নটি বুঝতে পেরেছি। কোনও মুহুর্তে আমরা দুটি দৃষ্টান্ত একই সাথে চালানোর অনুমতি দিই না। বর্তমান পরিস্থিতিটি হ'ল নিজস্ব পছন্দ করার সময়, উইন্ডোজ একটি দৃষ্টান্ত চালনার অনুমতি দেয় এবং অন্যটিকে "চালিত" মোডে চালানোর অনুমতি দেয়। মজার বিষয় হল, আমাদের বর্তমান অভিজ্ঞতা হ'ল স্থগিত কাজটি শেষ করা যাবে না। কেবল একটি চলমান কাজ শেষ করা যেতে পারে।


এটি সম্ভবত আপনি বাগম্যাগনেট;)
বব

আপনি ব্যাচ স্ক্রিপ্ট, একটি এক্সি ফাইল, পাওয়ারশেল স্ক্রিপ্ট, বা কিসের মতো টাস্ক শিডিয়ুলারের সাথে ঠিক কী চালাচ্ছেন? তফসিল অনুসারে আপনার কীভাবে টাস্ক সেটআপ করবেন? এই সমস্ত কিছু জানার ফলেও একটি পার্থক্য হতে পারে। আমি ধরে নিই যে আপনি একটি এক্সিকিউটেবল ফাইল বা কিছু চালাচ্ছেন এবং এই প্রক্রিয়াটির নাম আপনি মেমোরিতে দেখেন যা একাধিক চলমান নির্দেশ করে। আমি মনে করি আপনার নির্ধারিত টাস্ক সেটআপ এবং আপনি এটি নিয়ে কী চালাচ্ছেন তার বিশদ অন্তর্ভুক্ত করা উচিত, এবং আপনি কী দেখেন যা সমস্যাটিকে ইঙ্গিত করে ইত্যাদি ইত্যাদি
পিম্প জুস আইটি

1
হ্যাঁ, ভাল পয়েন্ট আমি আরও বড় সময়ের স্ল্যাব পাওয়ার সাথে সাথে যুক্ত করব।
বাগম্যাগনেট

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

1
প্রশ্নগুলি: (1) আপনি কি এই অক্ষমগুলি অক্ষম করে দিয়েছিলেন এবং তারপরে সক্ষম করেছেন? (২) কোনও এক্সএমএল ফাইল থেকে কাজগুলি কি আমদানি করা হয়েছিল? (3) আপনি যদি কাজটি পুনরায় তৈরি করেন তবে এটি কি সমস্যার সমাধান করে? (4) একটি প্রস্থান কোড দিয়ে টাস্কটি কি সমাপ্ত হবে? (৫) নতুন টাস্কটি শুরু হওয়ার কথা থাকলে ঠিক কী নির্ধারিত কাজটি সমাপ্ত হতে পারে? ()) একই টাস্কের দুটি কাজ একই সাথে চলমান আপনি যে অস্থিরতাটি দেখছেন তা ব্যাখ্যা করতে পারে?
harrymc

উত্তর:


0

টাস্ক শিডিয়ুলার এবং অলস শর্তাদি

নিষ্ক্রিয় শর্তাদি সম্পর্কিত কোনও কার্য শিডিউলার কাজটি কনফিগার করার দুটি উপায় রয়েছে বলে মনে হয় ।

  1. যদি StopOnIdleEndসেট করা হয় সত্য , তারপর The RestartOnIdleহওয়া উচিত সত্য পাশাপাশি যদি কাঙ্ক্ষিত ফলাফল হয় বিনষ্ট এবং একটি টাস্ক পুনর্সূচনা

    সাইক্লিং অলস অবস্থা

    যদি কম্পিউটারটি নিষ্ক্রিয় অবস্থায় সাইক্লিং করে এবং বাইরে চলে যায়, আপনি নীচের নিষ্ক্রিয় শর্তাদি ব্যবহার করে কাজটি সমাপ্ত এবং পুনরায় চালু করতে পারেন।

    কোনও কার্য সমাপ্ত ও পুনরায় চালু করতে, বৈশিষ্ট্য এবং উপাদান উভয়ই সত্য হিসাবে সেট করতে হবে :

    • নিষ্ক্রিয় অবস্থা শেষ হয়ে গেলে কাজটি শেষ করতে, StopOnIdleEnd বৈশিষ্ট্য বা স্টপঅনআইডেলইন্ড উপাদানটিকে সত্য হিসাবে সেট করুন ।

    • নিষ্ক্রিয়তা শর্ত মধ্যে কম্পিউটার চক্র আবার, সেট টাস্ক রিষ্টাট হচ্ছে RestartOnIdle সম্পত্তি বা RestartOnIdle সত্যতে উপাদান।


    উদাহরণ কনফিগার

    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>true</RestartOnIdle>
    </IdleSettings>
    

    এই দুটিই সত্য হিসাবে সেট করা উচিত ।


  1. কাঙ্ক্ষিত ফলাফল হয় তাহলে কাজের একটি কর্মহীন অবস্থায় চলমান স্টপ নেই , তাহলে আপনি নিশ্চিত করার উভয় চান RestartOnIdle এবং StopOnIdleEnd সেট করা হয় মিথ্যা

    উদাহরণ কনফিগার

    <IdleSettings>
      <StopOnIdleEnd>false</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    

এই দুটিই মিথ্যাতে সেট করা উচিত ।


@ বুগম্যাগনেট .... আমি কেবল অন্য কিছু সম্পর্কে ভেবেছিলাম। সম্ভবত আপনি চাইছেন না যে প্রক্রিয়াটি নিষ্ক্রিয় অবস্থায় চালানো বন্ধ করুন এবং এইভাবে উভয়কে মিথ্যা হিসাবে সেট করা আপনার প্রয়োজনের জন্য যথেষ্ট হবে। আমি আপনার উত্তরটি শুনে আমার উত্তরটিতে এটি যুক্ত করব etc. ইত্যাদি আমি ভাবব যদি আপনি যদি নিষ্ক্রিয় শর্তে টাস্ক শিডিয়ুলারটি বন্ধ করতে চান তবে আপনি সম্ভবত এটিও এটি পুনরায় চালু করতে চান এবং এভাবে পুনরায় চালু করার কারণটি মিথ্যাতে সেট হয়ে থাকতে পারে why স্থগিত প্রক্রিয়াগুলি সেখানে থেকে যায় এবং সম্ভবত টাস্ক শিডিয়ুলারের জন্য স্থগিত প্রক্রিয়াটি দেখতে পায় না Do not start a new instanceএবং আপনাকে পুনরায় আরম্ভ করার অনুমতিও দিতে হবে।
পিম্প জুস IT

যদি RestartOnIdleএটি কাজ করে তবে আমি মনে Do not start a new instanceকরি এটির কাজটিও করা উচিত এবং স্থগিত প্রক্রিয়াগুলি সম্ভবত চলে যাবে।
পিম্প জুস IT

আমি মনে করি যে আমাদের উদ্দেশ্যে যে "ব্যবহারকারীর ক্রিয়াকলাপের অভাব বা [সংস্থান] ব্যবহারের অভাব নির্বিশেষে" সিস্টেমটিকে কখনই নিষ্ক্রিয় হিসাবে বিবেচনা করা উচিত নয় "
বাগম্যাগনেট

@ বুগম্যাগনেট গ্রেট, আমি আমার উত্তরটি যুক্ত করেছি কারণ আমি বলেছি আমি একবার শুনলাম would আমি আমার পরামর্শ অনুসরণ করে এবং কনফিগারগুলি প্রকাশ করার জন্য আপনাকে প্রশংসা করি এবং এটি সম্ভাব্যরূপে খুঁজে পেতে এবং আশা করি এটির একটি সমাধানও প্রত্যাশা করে। আমি বিষয়টি সম্পর্কে আপনার কাছ থেকে ফিরে শুনার অপেক্ষায় এবং আপনার মহান সাফল্য কামনা করি !! সম্মানজনকভাবে ~
পিম্প জুস আইটি

ঠিক আছে, আপনার পরামর্শ সঙ্গে যেতে হবে। পরিবর্তনগুলি কার্যকর হয় কিনা তা দেখতে কয়েক দিন সময় লাগবে। আমি সবেমাত্র আমাদের প্রথম অ্যাজুর সার্ভারের 25 টি নির্ধারিত টাস্কের মধ্যে দিয়েছি। দ্বিতীয়টিতে কিছু কম থাকবে। সময় দেবার জন্য ধন্যবাদ।
বাগম্যাগনেট

0

আপনার সমস্যাটি সম্পর্কে আমার ধারণা হ'ল এটি লাইন দ্বারা সৃষ্ট:

<StopOnIdleEnd>true</StopOnIdleEnd>

আমি যা থিয়োরাইজ করি তা হল আপনার দৃশ্য:

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

সমাধান সেট StopOnIdleEndকরা উচিত false। কাজটি শেষ করার কোনও কারণ নেই কারণ কম্পিউটার অলস অবস্থায় briefুকেছে, তবে সংক্ষেপে। আসলে, এসকিউএল সার্ভারের সাথে সংযুক্ত যে কোনও কাজকে নির্মমভাবে বন্ধ করার পক্ষে এটি খুব খারাপ ধারণা, কারণ এটি চলমান লেনদেনটিকে সম্পূর্ণরূপে ছেড়ে দেয় এমনকি রোলড-ব্যাকও দেয় না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.