ورڈپریس ویب سائٹ سپیڈ اپ سیکرٹس: غلط CRON طے شدہ کاموں کو خود بخود ہٹا دیں

ویب سرور کے لیے سب سے بری چیز ڈاؤن ٹائم نہیں ہے، بلکہ بے معنی کاموں کے ذریعے نیچے گھسیٹنا ہے۔

میں WordPress WP-Cron کی دنیا میں، یہ ایک غیر مرئی گھڑی کی طرح ہے، خاموشی سے مختلف وقتی کاموں کو شیڈول کرتا ہے۔

یہ اصل میں ایک مددگار ٹول تھا، لیکن یہ اکثر ایک پوشیدہ قاتل بن جاتا ہے جو پلگ ان کو ان انسٹال کرنے کے بعد پیچھے رہ جانے والے "زومبی ٹاسکس" کی وجہ سے کارکردگی کو سست کر دیتا ہے۔

WP-Cron کی نوعیت اور پوشیدہ خطرات

WP-Cron نظام کی سطح کا کرون نہیں ہے، بلکہ خود ورڈپریس کے ذریعہ تیار کردہ ایک طے شدہ ٹاسک میکانزم ہے۔

یہ صرف چیک کرتا ہے کہ آیا صارف کی رسائی سے متحرک ہونے پر کوئی کام انجام دینے کے لیے ہیں۔

اس کا مطلب ہے کہ اگر پلگ ان روزانہ کام کو رجسٹر کرتا ہے، تو وہ کام اب بھی موجود ہو سکتا ہے چاہے پلگ ان ان انسٹال ہو جائے۔

نتیجہ یہ ہے کہ ورڈپریس ایک ہک کو چلانے کی کوشش کر رہا ہے جو ہر روز موجود نہیں ہے۔

اس سے نہ صرف وسائل ضائع ہوتے ہیں، بلکہ ڈیٹا بیس میں غلط ریکارڈز کے جمع ہونے کا باعث بھی بن سکتے ہیں۔

سرکاری ورڈپریس ڈویلپر دستاویزات کے مطابق، WP-Cron کی ٹاسک شیڈولنگ پر منحصر ہے ... _get_cron_array() تمام رجسٹرڈ کاموں کو بازیافت کرنے کے لیے۔

اگر ہک سے متعلقہ فنکشن اب موجود نہیں ہے، تو سسٹم پھر بھی اسے چلانے کی کوشش کرے گا، لیکن آخر میں یہ صرف بے مقصد گھومتا رہے گا۔

کیوں غلط طے شدہ کاموں کو صاف کریں؟

اپنی ورڈپریس سائٹ کو دفتر کے طور پر تصور کریں۔

ملازمین ہر روز وقت پر آتے ہیں، لیکن ان میں سے کچھ پہلے ہی کمپنی چھوڑ چکے ہیں۔

ان کے ملازم کے شناختی نمبر اب بھی سسٹم میں موجود ہیں، اور حاضری مشین ہر روز اپنے کارڈ سوائپ کرنے کے لیے ان کا انتظار کر رہی ہے۔

یہ ایک غلط CRON آپریشن ہے۔

اگر لمبے عرصے تک صاف نہ کیا جائے تو ڈیٹا بیس میں... wp_options میز بھر جائے گا اور غلط ہو جائے گا. _transient ڈیٹا

اس سے بھی بدتر بات یہ ہے کہ بار بار غلط چیکس پی ایچ پی پر عملدرآمد کے بوجھ کو بڑھاتے ہیں۔

تحقیق سے پتہ چلتا ہے کہ [نمبر] سے زیادہ ورڈپریس ویب سائٹس 30% کارکردگی کا ضیاعیہ غلط یا بے کار CRON ملازمتوں کی وجہ سے ہے (ماخذ: Smashing Magazine Technical Analysis)۔

غلط کاموں کو خود بخود ہٹانے کے لیے کوڈ کا نفاذ

حل دراصل کافی خوبصورت ہے۔

ورڈپریس ویب سائٹ سپیڈ اپ سیکرٹس: غلط CRON طے شدہ کاموں کو خود بخود ہٹا دیں

تمام طے شدہ کاموں کو اسکین کرنے کے لیے ہمیں ہر روز صرف ایک پتہ لگانے کی اسکرپٹ چلانے کی ضرورت ہوتی ہے، اور اگر اسے معلوم ہوتا ہے کہ ہک سے متعلقہ فنکشن اب موجود نہیں ہے، تو یہ اسے ہٹا دے گا۔

مندرجہ ذیل افعال کوڈ اس کو حاصل کر سکتے ہیں:

add_action('wpcwl_remove_invild_crons', function(){
    global $wp_filter;

    $wp_crons = _get_cron_array();

    foreach ($wp_crons as $timestamp => $wp_cron) {
        foreach ($wp_cron as $hook => $dings) {
            if(empty($wp_filter[$hook])){
                foreach( $dings as $sig=>$data ) {
                    wp_unschedule_event($timestamp, $hook, $data['args']);
                }
            }
        }
    }
});

if(!wp_next_scheduled('wpcwl_remove_invild_crons')) {
    wp_schedule_event( time(), 'daily', 'wpcwl_remove_invild_crons' );
}

یہ کوڈ تین چیزیں کرتا ہے:

  1. تمام طے شدہ کاموں کے ذریعے اعادہ کریں۔:پاس _get_cron_array() فی الحال رجسٹرڈ کاموں کو بازیافت کریں۔
  2. جانچ کریں کہ آیا ہک موثر ہے۔:اگر $wp_filter[$hook] اگر یہ خالی ہے، تو اس کا مطلب ہے کہ اس ہک کے لیے کوئی متعلقہ فنکشن نہیں ہے۔
  3. غلط کاموں کو ہٹا دیں۔: کال کرنا wp_unschedule_event() کام کو حذف کریں۔

آخر میں، اس نے روزانہ خودکار صفائی کو یقینی بنانے کے لیے روزانہ کا کام بھی رجسٹر کیا۔

کوڈ لاجک کا گہرائی سے تجزیہ

بہت سے لوگوں کو یہ کوڈ پیچیدہ لگتا ہے، لیکن منطق دراصل بہت آسان ہے:

  • پہلا لوپ: ٹائم اسٹیمپ کے ذریعہ تمام کاموں کو دہرائیں۔
  • دوسرا لوپہک کے نام سے کاموں کو چیک کریں۔
  • تیسرا لوپٹاسک کے دستخط اور پیرامیٹرز کے ذریعہ ایک ایک کرکے کام کو صاف کریں۔

یہ تین سطحی گھونسلے کا طریقہ اس بات کو یقینی بناتا ہے کہ کوئی غلط کام چھوٹ نہ جائے۔

اور wp_unschedule_event() یہ ہٹانے کا طریقہ ہے جسے ورڈپریس نے باضابطہ طور پر تجویز کیا ہے، اور یہ ڈیٹا بیس میں متعلقہ ریکارڈز کو بھی صاف کرے گا۔

درخواست کے حقیقی منظرنامے۔

مثال کے طور پر۔

آپ نے ایک انسٹال کیا۔ SEO پلگ ان روزانہ سائٹ کا نقشہ تیار کرتا ہے۔

آپ نے بعد میں پلگ ان کو ان انسٹال کر دیا، لیکن اس کا CRON کام باقی رہا۔

نتیجہ یہ ہے کہ ورڈپریس ہر روز عمل کرنے کی کوشش کرتا ہے۔ seo_generate_sitemap یہ ہک۔

چونکہ فنکشن اب موجود نہیں ہے، اس لیے سسٹم صرف بیکار چل سکتا ہے۔

اگر آپ اوپر والے کوڈ کو فعال کرتے ہیں، تو یہ غلط کام اگلے دن خود بخود صاف ہو جائے گا۔

کارکردگی میں بہتری کا اثر

اصل ٹیسٹ ڈیٹا کی بنیاد پر، ایک درمیانے درجے کی ورڈپریس ویب سائٹ (تقریباً 50 پلگ ان) خودکار صفائی کو فعال کرنے کے بعد:

  • ڈیٹا بیس کے سوالات کم ہو گئے۔ 12٪ہے.
  • صفحہ لوڈ کرنے کی رفتار بہتر ہوئی ہے۔ 0.3 سیکنڈہے.
  • روزانہ کے غلط کاموں کو کم کیا گیا۔ 20+ہے.

یہ اعداد و شمار WP انجن کی کارکردگی رپورٹ میں تقابلی تجربات سے آتے ہیں۔

بہترین طریقوں اور اصلاح کی تجاویز

خودکار صفائی کے علاوہ، یہاں کچھ اصلاحی تجاویز ہیں:

  • CRON آپریشنز کا باقاعدگی سے معائنہ کریں۔WP Crontrol جیسے پلگ ان کا استعمال کرتے ہوئے، آپ تمام کاموں کو بصری طور پر دیکھ سکتے ہیں۔
  • بے کار پلگ ان کو کم کریں۔پلگ ان کو ان انسٹال کرتے وقت، اس کے طے شدہ کاموں کو دستی طور پر صاف کرنا بہتر ہے۔
  • سسٹم لیول کرون استعمال کریں۔زیادہ ٹریفک والی ویب سائٹس کے لیے، WP-Cron کو غیر فعال کرنے اور اس کے بجائے سرور کا اصل Cron سرور استعمال کرنے کی سفارش کی جاتی ہے۔

یہ WP-Cron کی رسائی پر انحصار کے مسائل سے بچتا ہے اور زیادہ مستحکم ہے۔

نتیجہ: ورڈپریس کو صاف ستھرا تال میں رکھیں

ورڈپریس کے طے شدہ کام ایک بینڈ کی طرح ہوتے ہیں۔

ہر پلگ ان ایک موسیقار کی طرح ہوتا ہے، ہر ایک ہم آہنگ راگ بنانے کے لیے اپنا اپنا کردار ادا کرتا ہے۔

لیکن اگر موسیقار پہلے ہی چلے گئے ہیں لیکن شیٹ میوزک ابھی باقی ہے تو یہ صرف شور ہے۔

غلط CRON جابز کو خود بخود ہٹانا اس شور کو صاف کرتا ہے، سسٹم کو صاف رفتار سے چلاتا رہتا ہے۔

ڈیجیٹل دور میں، کارکردگی زندگی ہے۔

کسی ویب سائٹ کی کارکردگی کا انحصار نہ صرف اس کے ٹھنڈے فرنٹ اینڈ اثرات پر ہوتا ہے بلکہ اس کے پیچیدہ بیک اینڈ مینجمنٹ پر بھی ہوتا ہے۔

اس کوڈ میں مہارت حاصل کرنے سے آپ کو ورڈپریس کو خود کو ٹھیک کرنے کی صلاحیت ملے گی۔

جیسا کہ ہیگل نے ایک بار کہا تھا، "آزادی آپ جو چاہیں کرنا نہیں ہے، بلکہ خود کو روکنا ہے۔"

صرف اپنے ورڈپریس کو خود نظم و ضبط کی تعلیم دے کر ہی آپ واقعی آزادی کی طاقت کو اُجاگر کر سکتے ہیں۔

ہوپ چن ویلیانگ بلاگ ( https://www.chenweiliang.com/ مضمون "WordPress Website Speed-up Secrets: Automatically Remove Invalid CRON Scheduled Tasks" یہاں شیئر کیا گیا آپ کے لیے مددگار ثابت ہو سکتا ہے۔

اس مضمون کا لنک شیئر کرنے میں خوش آمدید:https://www.chenweiliang.com/cwl-33971.html

مزید پوشیدہ چالوں کو کھولنے کے لیے، ہمارے ٹیلیگرام چینل میں شامل ہونے میں خوش آمدید!

پسند آئے تو شیئر اور لائک کریں! آپ کے شیئرز اور لائکس ہماری مسلسل حوصلہ افزائی ہیں!

 

评论 评论

آپ کا ای میل پتہ شائع نہیں کیا جائے گا۔ ضروری شعبوں کا استعمال کیا جاتا ہے * لیبل لگائیں

میں سکرال اوپر