Cron job یک ابزار یونیکس/ لینوکس است که معمولاً برای برنامهریزی فرایندهای خاص در فواصل زمانی ثابت استفاده میشود. سیستم مدیریت محتوای قدرتمند وردپرس از یک برنامه زمانبندی درونی به نام WP-Cron برای اجرای برخی از دستورالعملهای خود استفاده میکند. امروز میخواهیم به نحوه ایجاد، اصلاح و اجرای آسان کرون جاب وردپرس بپردازیم.
نحوه راه اندازی Cron Job در وردپرس
پیش از هر چیز باید توجه داشته باشیدکه WP-Cron کمی با کرون سیستم متفاوت است و هر کدام مزایا و معایب خاص خود را دارند. به عنوان مثال، WP-Cron در وردپرس به صورت مداوم اجرا میشود اما در سیستم بدین صورت نیست.
افزونه رایگان و محبوب WP Control یک ابزار عالی برای ایجاد و مدیریت کرون جاب در وردپرس است که به وسیله آن به راحتی میتوانید اقدامات مورد نظر خود را روی وردپرس انجام دهید. این افزونه بیش از 200 هزار نصب فعال با امتیاز 4.5 از 5 دارد. بسیاری از کاربران جامعه وردپرس واقعا این پلاگین را دوست دارند.
بیشتر بخوانید: آموزش ست کردن کرون جاب (Cron Job) در سی پنل
WP-Cron Schedules
برای انجام این کار در ابتدا شما باید پلاگین WP Control را در سایت خود نصب کنید. این افزونه قدرتمند را میتوانید از مخزن وردپرس دریافت کنید.
پس از فعالسازی، میتوانید برنامههای زمانبندی Cron را در قسمت « Cron Schedules» از داخل تنظیمات داشبورد وردپرس خود تغییر دهید. توجه داشته باشید که این افزونه به صورت پیشفرض یک زمانبندی پیش فرض اضافی به صورت هفتگی ایجاد میکند اما میتوانید برنامه تنظیمات دلخواه خود را هم ایجاد کنید مانند 21600 ثانیه در هر 6 ساعت.
این فواصل زمانی را میتوان با کد زیر ایجاد کرد:
add_filter( 'cron_schedules', 'example_add_cron_interval' );
function example_add_cron_interval( $schedules ) {
$schedules['five_seconds'] = array(
'interval' => 5,
'display' => esc_html__( 'Every Five Seconds' ),
);
return $schedules;
}
WP-Cron Events
در این قسمت میتوانید فرایندهایی که در Cron Schedules تنظیم کردهاید را مشاهده کنید.
با کلیک بر روی Run Now در کنار نام اکشن موردنظر، یک رویداد Cron را اجرا میکنید. ممکن است لازم باشد یک رویداد Cron را چندین بار اجرا کنید.
بیشتر بخوانید: ایجاد کرون جاب (Cron Job) در دایرکت ادمین
تغییر رویداد Cron
همچنین میتوانید رویدادهای Cron را با کلیک بر روی «Edit» ویرایش کنید. نام اقدام، آرگومانها، اجرای بعدی و تکرارهای برنامه ریزی شده را در این قسمت میتوانید تغییر دهید.
افزودن رویداد Cron
شما بهراحتی میتوانید Cron موردنظر خود را در وردپرس بسازید. برای این منظور به صفحه ابزارها > Cron Event رفته و روی تب “Add Cron Event” کلیک کنید.
در پنجره باز شده مانند تصویر بالا مراحل زیر را انجام دهید:
انتخاب نام برای رویداد موردنظر
- بین حروف نامی که انتخاب میکنید نباید فاصله (space) باشد.
- از متغیرهای مجاز برای نامگذاری استفاده کنید.
ارائه استدلال
- اگر رویداد مورد نظرتان نیاز به استدلال خاصی دارد، میتوانید استدلال مورد نظرتان را در فیلد دوم وارد نمایید.
مشخص کردن زمانبندی
- در این قسمت باید زمان بعدی اجرای دستورالعمل و دوره تکرار اجرا را مشخص نمایید.
پس انجام مراحل بالا برای ذخیره کرون ایجادشده روی دکمه “Add Cron Event” کلیک نمایید.
اگر این کرون اجرا شود هیچ اجرای خاصی را مشاهده نمیکنید. برای اجرای یک کرون باید به وردپرس بگویید چه دستورالعملی اجرا شود که کد مربوط به اجرا را در فایل فانکشن مینویسید.
بهعنوانمثال اگر بخواهیم در زمان اجرای یک رویداد خاصی، ایمیلی برایمان ارسال شود کد زیر را باید به فایل فانکشن اضافه کنید.
if ( ! wp_next_scheduled( 'wpb_custom_cron' ) ) {
wp_schedule_event( time(), 'hourly', 'my_task_hook' );
}
add_action( 'wpb_custom_cron', 'wpb_custom_cron_func' );
function wpb_custom_cron_func() {
wp_mail( 'you@example.com', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}
حال روی گزینه “Run Now” در ردیف مربوط به رویداد خود کلیک میکنیم که اگر تمام مراحل را بهدرستی انجام داده باشید یک ایمیل به آدرسی که وارد کردهاید ارسال میشود.
WP-Cron WP-CLI
همچنین میتوانید رویدادهای WP-Cron را در WP-CLI مدیریت کنید. به عنوان مثال، دستور زیر لیست رویداد cron فعلی را به شما می دهد.
wp cron event list
بیشتر بخوانید: تغییر رمز عبور و نام کاربری وردپرس از طریق PhpMyAdmin
سخن پایانی
توجه داشته باشید که برای استفاده از کرونها شما باید سطح متوسطی از PHP و سطح پیشرفتهای از وردپرس را آموزشدیده باشید.
منبع: