Cron ایکسپریشن پارسر

اپنے براؤزر میں ہی cron شیڈول کو سادہ فیلڈ تفصیل میں پارس کریں اور اس کے اگلے چلنے کے اوقات کا پیش نظارہ کریں۔

Cron ایکسپریشن

اگلی بار چلنے کے اوقات

(آپ کا مقامی وقت)

پارس کرنے کے لیے ایک cron ایکسپریشن درج کریں۔

آپ کا cron ایکسپریشن آپ کے براؤزر میں پارس کیا جاتا ہے۔ BroBroGo کو کچھ بھی نہیں بھیجا جاتا۔

عمومی سوالات

یہ ٹول کس cron سنٹیکس کو سپورٹ کرتا ہے؟

معیاری 5-فیلڈ cron — منٹ، گھنٹہ، مہینے کا دن، مہینہ، اور ہفتے کا دن — بشمول رینجز (1-5)، اسٹیپس (*/15)، لسٹیں (1,15)، نامزد مہینے اور ہفتے کے دن (JAN, MON)، اور @yearly/@monthly/@weekly/@daily/@hourly شارٹ کٹس۔ ایک اہم اصول: جب مہینے کا دن اور ہفتے کا دن دونوں محدود ہوں (یعنی * نہ ہوں)، تو کسی ایک پر بھی پورا اترنا کافی ہوتا ہے — ان کا متفق ہونا ضروری نہیں ہے۔

اگلی بار چلنے کے اوقات کس ٹائم زون میں دکھائے جاتے ہیں؟

آپ کے براؤزر کا مقامی ٹائم زون — وہی جو آپ کے سسٹم کلاک کا ہے۔ معیاری cron کا اپنا کوئی ٹائم زون نہیں ہوتا؛ اسے چلانے والا جاب شیڈولر اس کا فیصلہ کرتا ہے، اس لیے ان اوقات کو اپنے مقامی شیڈول کے پیش نظارہ کے طور پر دیکھیں، ضروری نہیں کہ یہ سرور کا وقت ہو۔

یہ کیوں کہتا ہے کہ یہ شیڈول کبھی واقع نہیں ہو سکتا؟

عام طور پر مہینے کے دن کی ایسی ویلیو جو ہر منتخب کردہ مہینے میں موجود نہیں ہوتی — مثال کے طور پر، مہینے کے فیلڈ میں اپریل، جون، ستمبر یا نومبر کے ساتھ دن 31۔ ایسا دن منتخب کریں جو آپ کے درج کردہ تمام مہینوں میں موجود ہو، یا شیڈول کو الگ الگ ایکسپریشنز میں تقسیم کریں۔

Cron ایکسپریشن کی تفہیم اور اس کے اجزاء

ٹاسک شیڈولنگ میں cron ایکسپریشنز بنیادی کردار ادا کرتی ہیں۔ ایک معیاری cron ایکسپریشن پانچ فیلڈز پر مشتمل ہوتی ہے، جن میں سے ہر ایک وقت کے مخصوص حصے کی نمائندگی کرتا ہے:

  1. منٹ: وہ منٹ جب جاب چلے گی۔
  2. گھنٹہ (Hour): وہ گھنٹہ جب جاب چلے گی۔
  3. مہینے کا دن: مہینے کا وہ مخصوص دن جب جاب چلے گی۔
  4. مہینہ: وہ مہینہ یا مہینے جب جاب چلے گی۔
  5. ہفتے کا دن: ہفتے کا وہ مخصوص دن جب جاب چلے گی۔

یہ ٹول انفرادی اجزاء کو الگ کر کے ان کی سادہ تفصیل فراہم کرتا ہے۔ جب کسی فیلڈ میں وائلڈ کارڈ * استعمال کیا جائے، تو ٹول اسے "کوئی بھی" کے طور پر ظاہر کرتا ہے۔ اسی طرح، اسٹیپس کے لیے استعمال ہونے والے فارمیٹس جیسے */n کو یہ ٹول فیلڈ کے لحاظ سے "ہر {n} منٹ بعد"، "ہر {n} گھنٹے بعد"، "ہر {n} دن بعد"، "ہر {n} مہینے بعد" یا "ہر {n} دن بعد" میں تبدیل کر کے دکھاتا ہے۔

ان پٹ اور آؤٹ پٹ کی تفصیلات

اس ٹول کو استعمال کرنے کے لیے درج ذیل ان پٹ فراہم کیے جاتے ہیں:

  • Cron ایکسپریشن: ایک سنگل لائن ٹیکسٹ ان پٹ جہاں آپ اپنی ایکسپریشن لکھتے ہیں۔ اس کا نمونہ ان پٹ */15 9-17 * * MON-FRI ہے۔
  • تعداد: ایک عددی ان پٹ جس کی مدد سے آپ اگلے چلنے والے اوقات کی تعداد کو 1 سے 20 تک ایڈجسٹ کر سکتے ہیں۔

جب آپ ان پٹ فراہم کرتے ہیں، تو ٹول درج ذیل آؤٹ پٹ تیار کرتا ہے:

  • شیڈول کی تفصیل:
    • منٹ: منٹ فیلڈ کی پارس کردہ ویلیو۔
    • گھنٹہ: گھنٹہ فیلڈ کی پارس کردہ ویلیو۔
    • مہینے کا دن: مہینے کے دن کی فیلڈ کی پارس کردہ ویلیو۔
    • مہینہ: مہینے کی فیلڈ کی پارس کردہ ویلیو۔
    • ہفتے کا دن: ہفتے کے دن کی فیلڈ کی پارس کردہ ویلیو۔
  • اگلی بار چلنے کے اوقات: آنے والے اوقات کی ایک فہرست جو آپ کے براؤزر کے مقامی ٹائم زون کے مطابق دکھائی جاتی ہے، جس کے ساتھ "(آپ کا مقامی وقت)" کا نوٹ اور "دکھائے گئے اوقات" کی تعداد موجود ہوتی ہے۔

اگر ان پٹ خالی ہو، تو ٹول واپس اپنی ابتدائی حالت میں چلا جاتا ہے اور "پارس کرنے کے لیے ایک cron ایکسپریشن درج کریں۔" ظاہر کرتا ہے۔

سپورٹڈ سنٹیکس اور حدود

یہ ٹول معیاری 5-فیلڈ cron سنٹیکس کو سپورٹ کرتا ہے۔ اس میں درج ذیل فارمیٹس شامل ہیں:

  • رینجز: جیسے 1-5۔
  • اسٹیپس: جیسے */15۔
  • لسٹیں: جیسے 1,15۔
  • نامزد مہینے اور ہفتے کے دن: جیسے JAN اور MON۔
  • شارٹ کٹس: جیسے @yearly، @monthly، @weekly، @daily، اور @hourly۔

یہ ٹول کچھ مخصوص توسیعات کو سپورٹ نہیں کرتا۔ اس میں چھٹا "سیکنڈز" کا فیلڈ شامل نہیں ہے، اور نہ ہی یہ Quartz سے مخصوص توسیعات جیسے L، W، یا # کو سپورٹ کرتا ہے۔

اہم قوانین اور عام غلطیاں

cron ایکسپریشنز لکھتے وقت کچھ منطقی قوانین اور حدود کو سمجھنا ضروری ہے تاکہ شیڈولنگ درست طریقے سے کام کرے:

مہینے کے دن اور ہفتے کے دن کا باہمی ملاپ

جب مہینے کا دن اور ہفتے کا دن دونوں فیلڈز محدود ہوں (یعنی ان میں * موجود نہ ہو)، تو شیڈولر کا اصول یہ ہے کہ ان میں سے کسی ایک بھی شرط پر پورا اترنا جاب کو چلانے کے لیے کافی ہوتا ہے۔ دونوں کا بیک وقت درست ہونا لازمی نہیں ہے۔

ناممکن شیڈول کی غلطی

اگر آپ کوئی ایسا شیڈول بناتے ہیں جو کبھی حقیقت میں نہیں چل سکتا، تو ٹول ایک مخصوص خرابی کا پیغام دکھاتا ہے: "یہ شیڈول کبھی واقع نہیں ہو سکتا — مہینے کا ایسا دن چیک کریں جو ہر منتخب کردہ مہینے میں موجود نہ ہو۔"۔ یہ عام طور پر تب ہوتا ہے جب مہینے کے دن کے لیے 31 منتخب کیا جائے، لیکن مہینوں کی فہرست میں اپریل، جون، ستمبر یا نومبر جیسے مہینے شامل ہوں جن میں 31 تاریخ نہیں ہوتی۔

غیر درست سنٹیکس

اگر درج کردہ ایکسپریشن کا سنٹیکس درست نہ ہو، تو ٹول "غیر درست cron ایکسپریشن۔" کا ایرر میسج ظاہر کرتا ہے۔

پروسیسنگ اور رازداری کا طریقہ کار

اس ٹول میں آپ کی رازداری کا مکمل خیال رکھا گیا ہے۔ آپ کا درج کردہ cron ایکسپریشن براہ راست آپ کے براؤزر میں ہی پارس کیا جاتا ہے۔ پروسیسنگ کے دوران کوئی بھی ڈیٹا BroBroGo کو نہیں بھیجا جاتا۔

اکثر پوچھے گئے سوالات (FAQ)

سوال: یہ ٹول کس cron سنٹیکس کو سپورٹ کرتا ہے؟
جواب: معیاری 5-فیلڈ cron — منٹ، گھنٹہ، مہینے کا دن، مہینہ، اور ہفتے کا دن — بشمول رینجز (1-5)، اسٹیپس (*/15)، لسٹیں (1,15)، نامزد مہینے اور ہفتے کے دن (JAN, MON)، اور @yearly/@monthly/@weekly/@daily/@hourly شارٹ کٹس۔ ایک اہم اصول: جب مہینے کا دن اور ہفتے کا دن دونوں محدود ہوں (یعنی * نہ ہوں)، تو کسی ایک پر بھی پورا اترنا کافی ہوتا ہے — ان کا متفق ہونا ضروری نہیں ہے۔

سوال: اگلی بار چلنے کے اوقات کس ٹائم زون میں دکھائے جاتے ہیں؟
جواب: آپ کے براؤزر کا مقامی ٹائم زون — وہی جو آپ کے سسٹم کلاک کا ہے۔ معیاری cron کا اپنا کوئی ٹائم زون نہیں ہوتا؛ اسے چلانے والا جاب شیڈولر اس کا فیصلہ کرتا ہے، اس لیے ان اوقات کو اپنے مقامی شیڈول کے پیش نظارہ کے طور پر دیکھیں، ضروری نہیں کہ یہ سرور کا وقت ہو۔

سوال: یہ کیوں کہتا ہے کہ یہ شیڈول کبھی واقع نہیں ہو سکتا؟
جواب: عام طور پر مہینے کے دن کی ایسی ویلیو جو ہر منتخب کردہ مہینے میں موجود نہیں ہوتی — مثال کے طور پر، مہینے کے فیلڈ میں اپریل، جون، ستمبر یا نومبر کے ساتھ دن 31۔ ایسا دن منتخب کریں جو آپ کے درج کردہ تمام مہینوں میں موجود ہو، یا شیڈول کو الگ الگ ایکسپریشنز میں تقسیم کریں۔