Cron Job (کرون جاب) یک سرویس زمانبندی شده در سیستمهای لینوکس/یونیکس است؛ که به شما اجازه میده دستورات یا اسکریپتها را در زمانهای مشخصی اجرا کنین.
(مثلاً هر روز ساعت ۳ صبح، هر ۱۵ دقیقه یکبار و غیره)
کرون جاب وردپرس
وردپرس از یک سیستم شبیهسازی شده به نام “WP-Cron” استفاده میکنه.
کرون جاب وردپرس با کرون جاب سرور متفاوته.
تفاوت کرون جاب وردپرس و کرون جاب سرور
- در وردپرس، WP-Cron فقط زمانی اجرا میشه که کاربر وارد سایت میشه. (یعنی یک درخواست HTTP انجام بشه)
- در سرورهای لینوکس، کرون جابها دقیق و مستقل از بازدیدکنندگان اجرا میشن.
نحوه کار کردن کرون جاب وردپرس
زمانی که کاربری وارد سایت شما میشه، وردپرس چک میکنه:
“آیا زمان اجرای یک وظیفه زمانبندی شده فرا رسیده؟ مثال: ارسال کامنت، بررسی بهروزرسانی، ارسال ایمیل خبرنامه، پاکسازی دادههای موقت و…”
اگر جواب بله بود، وردپرس اون کار رو انجام میده.
برخی از وظایف کرون جاب وردپرس
- بررسی بروزرسانیهای وردپرس، پلاگینها و تمها
- ارسال کامنتها به صورت زمانبندیشده
- انتشار پست های زمانبندی شده (Scheduled Posts)
- پاکسازی دادههای قدیمی از دیتابیس (مثل trash posts, transient options)
- اجرای وظایف پلاگینها (مثلاً ارسال ایمیل خودکار، پشتیبانگیری خودکار)
آیا نیازه کرون جاب وردپرس غیرفعال بشه:
خیر، نباید به کلی غیرفعال بشه؛ چون بسیاری از وظایف مهم وردپرس به آن وابسته است.
پیشنهاد میشه از کرون جاب سرور به جای کرون جاب وردپرس استفاده بشه.
مشکلات کرون جاب وردپرس
-
وابسته به بازدید
برای سایت هایی که بازدید کم دارن ممکنه وظایف زمانبندی شده با تاخیر اجرا بشن یا اجرا نشن.
-
اجرای نامناسب
با هر بازدید، وردپرس باید چک کنه که آیا کاری هست یا نه؟ (این باعث افزایش بار سرور میشه، به خصوص در سایتهای پربازدید)
-
کاهش سرعت سایت
با اجرای چند وظیفه بصورت همزمان، ممکنه سایت با تاخیر لود بشه.
-
عدم دقت زمانی
مثلا اگر لازم باشه هر ساعت یکبار بکاپ گیری انجام بشه، ممکنه ۲ ساعت طول بکشه تا کاربر بیاد و کرون اجرا بشه.
پییشنهاد (راه حل)
بهترین راه حل، جایگزینی کرون جاب سرور بجای کرون جاب وردپرس است.
به این ترتیب که باید جلوی اجرای خودکار کرون جاب وردپرس گرفته بشه، و از کرون جاب سرور استفاده بشه.
کرون جاب سرور، مستقل از ترافیک سایت، وظایف وردپرس رو انجام میده.
نحوه غیرفعال کردن کرون جاب وردپرس
وارد فایل wp-config.php در (public_html) هاست بشین. و این خط رو قبل از /* That’s all, stop editing! */ اضافه کنین:
define('DISABLE_WP_CRON', true);
این کد کرون جاب وردپرس رو غیرفعال میکنه؛ و دیگه با هر بازدید سایت کرون جاب وردپرس شروع به کار نمیکنه.
تو آموزش های بعدی نحوه راه اندازی کرون جاب سرور رو آموزش میدم..