مشخصات مقاله
-
1217
-
0.0
-
2935
-
0
-
0
آموزش سرویس cron job در WordPress
نحوه ی جایگزینی cron (قابلیت تنظیم زمان اجرای کارها) ورد پرس با یک سرویس cron job
از آنجایی که ورد پرس بایستی بر روی انواع محیط (platform) و سیستم عامل هایی با پیکربندی های مختلف اجرا شود، لازم است برای مدیریت کارها یا تسک های زمان بندی شده ی خود، یک سرویس cronjob بر روی سرویس دهنده داشته باشد. توسعه دهندگان WordPress یک راه حل برای این منظور تعبیه کرده اند –فایل wp-cron.php واقع در پوشه ی اصلی WordPress. هر زمان که کاربری یک صفحه از وب را بارگذاری می کند، این فایل مورد استفاده قرار می گیرد. سپس بررسی می شود آیا تسک زمان بندی شده ای وجود دارد یا خیر. در صورت وجود تسک زمان بندی شده اجرا می شود.
اما همیشه این احتمال وجود دارد که فایل نام برده از طریق DOS مورد حمله قرار گیرد یا افزونه های caching در اجرای آن اختلال ایجاد کنند که در نهایت منجر به server load فراوان، عدم اجرای کارهای زمان بندی شده به صورت مرتب و در زمان مشخص شده می شود. بنا به دلایل ذکر شده، توصیه می شود این فایل را که نیاز به اجرای مداوم دارد با یک سرویس cron job جایگزین کنید.
در گام نخست بایستی فایلی را که با هر بار بارگذاری صفحه (توسط کاربر) مورد استفاده قرار می گیرد (فعال/اجرا می شود)، غیر فعال نمایید. برای این منظور، فایل wp-config.php واقع در پوشه ی اصلی WordPress را باز کرده و سپس این خط کد را قبل از تگ بسته ی ?> tag جایگذاری کنید:
define('DISABLE_WP_CRON', true);
حال بایستی یک سرویس cron job نصب کرده و این فایل را با آن اجرا کنید. توصیه می شود آن طوری را تنظیم کنید که هر 30 دقیقه یکبار فعال شود (از اجرای بیش از حد آن و در فواصل زمانی بسیار نزدیک خودداری کنید). برای این منظور (تنظیم فاصله ی زمانی اجرا)، کافی است وارد cPanel خود شده و سپس به ابزار Cron jobs واقع در تب Advanced مراجعه کنید.
سپس دستور زیر را برای اجرای فایل مزبور در فواصل زمانی 30 دقیقه، اضافه نمایید:
/usr/local/bin/php /home/user/public_html/wp-cron.php
بایستی نام کاربری ورود به cPanel خود را جایگزین المان /user/ در دستور فوق نمایید. ابزار Cron jobs بسیاری از برنامه ها و زمان بندی ها را از پیش تنظیم شده دارد، کافی است گزینه ی Every 30 mintues را از لیست کشویی minutes انتخاب نمایید و سپس یک علامت * در گزینه های دیگر قرار دهید.
در صورت تمایل می توانید یک ایمیل تنظیم کنید که خروجی (گزارشی از) سرویس cronjob شما را دریافت کند. پشنهاد می کنیم حتما این کار را انجام دهید تا از اجرای مرتب و به موقع تسک های زمان بندی شده اطمینان حاصل نمایید. پس از دریافت خروجی wp-cron.php از طریق ایمیل، می توانید آدرس ایمیل خود را از فیلد مورد نظر حذف کنید تا ارسال این ایمیل ها به شما متوقف گردد.