থাম্ব বিধি: আপনার ওয়েবসাইটের গৃহকর্মের জন্য ক্রোন নিয়মিত চালানো উচিত।
আপনি এমপিডির কাছে আপনার মন্তব্যে উল্লেখ করেছেন যে ক্রোন স্থাপন এবং নিয়মিত সেগুলি চালানো সত্ত্বেও আপনার ক্যাশে_ফর্ম টেবিলটি দ্রুত বাড়ছে।
এর একটি সমাধান হ'ল আপনার ক্রোন আরও ঘন ঘন চালানো। প্রতি ছয় ঘন্টা বা তার চেয়ে কম বলুন? আপনি যদি সামর্থ্য না করেন তবে আরও পড়ুন।
বিকল্প সমাধান:
mymodule_cron() {
cache_clear_all(NULL, 'cache_form');
}
এলিসিয়া ক্রোন ইনস্টল করুন এবং এখন আপনি নিজের মডিউলটির ক্রোন ফাংশনটি আলাদাভাবে চালাতে পারবেন। আপনি প্রতি ছয় ঘন্টা চালানোর জন্য আপনার মডিউলটির জন্য এলিসিয়া ক্রোনটির ফ্রিকোয়েন্সি রাখতে পারেন। যাতে আপনার cache_form
ছক ছয় ঘন্টা ছাঁটাই হয়।
এই ছাঁটাইয়ের প্রক্রিয়া চলাকালীন যে এন্ট্রিগুলি 6 ঘণ্টার বেশি নয় তাদের মোছা হবে না। কারণটি হ'ল, যদি সমস্ত এন্ট্রি মুছে ফেলা হয় তবে প্রবেশ মোছার সময় যে কোনও ফর্ম জমা দেওয়া হচ্ছে তা অদ্ভুত আচরণ করতে পারে।
Https://api.drupal.org/api/drupal/includes!form.inc/function/form_set_cache/7 এ কোডটি দেখুন
function form_set_cache($form_build_id, $form, $form_state) {
// 6 hours cache life time for forms should be plenty.
$expire = 21600;
মন্তব্যটি পড়ার সাথে সাথে তারা ধরে নিচ্ছে যে এটি প্রচুর পরিমাণে হওয়া উচিত এবং আপনার ক্ষেত্রে এটি আপনার পক্ষে প্রচুর পরিমাণে হয়ে উঠছে। সুতরাং কৌশলটি হয় হয় ক্যাশে_ফর্ম টেবিলটি আরও ঘন ঘন সাফ করা এবং of এর মান হ্রাস করে নিম্ন মানের হয়ে যায়, আপনি যদি ছয় ঘন্টার ডিফল্ট মানের চেয়ে ক্যাশে_ফর্মের এন্ট্রিগুলি আরও ঘন ঘন সাফ করতে চান তবে আপনাকে টিটিএল পরিবর্তন করতে হবে ক্যাশে_ফর্ম এন্ট্রি।
আপনি ক্যাশেবোজেক্ট ইনস্টল করে এবং তারপরে টিটিএলকেhook_cacheobject_presave
2 বা 3 ঘন্টা হতে পারে এমন পরিবর্তন করতে পারবেন তা প্রয়োগ করে can
mymodule_cacheobject_presave()($object, $cid, $bin) {
// Extend the expiry period for prototype forms used in ajax enabled forms.
$cache_ttl = 1 ; // Change it to any number of hours
if ($bin == 'cache_form') {
$object->expire = REQUEST_TIME + $cache_ttl * 3600;
}
}
এই পদ্ধতির একটি নেতিবাচক দিকটি হ'ল যদি ফর্মগুলি 2 ঘন্টার মধ্যে জমা দেওয়া না হয় (আপনার সেট করা আরটিএল মান) ফর্মের ডেটা হারাতে পারে এবং আপনি কিছু ফর্মের মেয়াদোত্তীর্ণ সমস্যা পেতে পারেন।