پیکربندی Cron Job
چگونه میتوانم زمانبند (Scheduler) را اجرا کنم؟
زمانبند وظایف زیر را اجرا خواهد کرد:
- دستور پاکسازی آگهیها (که آگهیها را پس از انقضا به طور خودکار بایگانی و حذف میکند) را در هر ساعت.
- دستورات پاکسازی کش و ویوها (Cache and Views) را در آخرین روز هر هفته، ساعت ۶:۰۰ صبح.
برای استفاده از زمانبند، کافی است دستور کران (Cron entry) زیر را به سرور خود اضافه کنید:
* * * * * {PHP_BIN_PATH} /path/to/public_html/artisan schedule:run >> /dev/null 2>&1
این کران جاب، زمانبند دستورات لاراول را در هر دقیقه فراخوانی میکند. زمانی که دستور schedule:run اجرا میشود، لاراول
وظایف زمانبندی شده شما را ارزیابی کرده و آنهایی که موعدشان فرا رسیده باشد را اجرا میکند.
نکات:
{PHP_BIN_PATH}: منظور، مسیر فایل اجرایی PHP روی سرور شما است. مثال:/usr/bin/php7.1.3,/usr/bin/php,/usr/lib/php/path/to/public_html/: شما باید این مسیر را با مسیر واقعی پوشهpublic_html(یا پوشه اصلی وبسایت) خود جایگزین کنید.- برای اطلاعات بیشتر در این مورد، از شرکت میزبانی وب خود سوال کنید.
- شما میتوانید دستور پاکسازی خودکار کش و ویوها را با افزودن متغیر زیر به فایل
/.envغیرفعال کنید:DISABLE_CACHE_AUTO_CLEAR=1
اطلاعات بیشتر درباره کران جاب:
- https://crontab.guru/every-1-hour
- https://code.tutsplus.com/tutorials/scheduling-tasks-with-cron-jobs--net-8800
- http://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job
دستور پاکسازی آگهیها چگونه کار میکند؟
پس از اینکه آن را برای اجرا در هر ساعت تنظیم کردید (به عنوان مثال)، دو حالت زیر در نظر گرفته میشود:
1. آگهیهای معمولی (Regular Listings)
شما باید گزینههای زیر را از مسیر پنل مدیریت ← تنظیمات ← عمومی ← کران (Cron) تنظیم کنید:
- انقضای آگهیهای فعالنشده (
Unactivated Listings Expiration): پس از این مدت (به روز)، آگهیهای فعالنشده حذف خواهند شد. - انقضای آگهیهای فعالشده (
Activated Listings Expiration): پس از این مدت (به روز)، آگهیهای فعالشده بایگانی خواهند شد. - انقضای آگهیهای بایگانیشده (
Archived Listings Expiration): پس از این مدت (به روز)، آگهیهای بایگانیشده از پایگاه داده حذف خواهند شد.
2. آگهیهای ویژه/پولی (Premium/Paid Listings)
-
پس از اتمام مدت زمان بسته (به روز) که از مسیر پنل مدیریت ← تنظیمات ← پکیجها ← [ویرایش] ← مدت زمان (Duration) تنظیم کردهاید، آگهیهای ویژه به آگهیهای معمولی تبدیل میشوند.
نکته :
- مدت زمان انقضای پکیجهای رایگان (یعنی پکیجهایی با قیمت
0) در نظر گرفته نمیشود. در عوض، قوانین مربوط به آگهیهای معمولی برای آنها اعمال خواهد شد. - برای صاحبانی که افزونه پرداخت آفلاین ما را نصب کردهاند، آگهیهایی که به صورت دستی به عنوان ویژه ثبت شدهاند ( ارتقای دستی از طریق پنل مدیریت) هرگز منقضی نخواهند شد. برای اعمال قوانین انقضا، ابتدا باید آنها را به صورت دستی از حالت ویژه خارج کنید (ارتقا را لغو کنید).
- مدت زمان انقضای پکیجهای رایگان (یعنی پکیجهایی با قیمت
-
و پس از آن، قوانین مربوط به آگهیهای معمولی (که در بخش ۱ توضیح داده شد) برای پاکسازی پایگاه داده وبسایت اعمال میشود.