چطور بفهمیم cron job اجرا میشود یا خیر؟

گاهی ممکن است فکر کنید cron job ایجاد شده در سی پنل کار نمیکند.

همیشه مشکل از سی پنل نیست و ممکن است خطای برنامه نویسی یا عدم ایجاد خروجی باعث شود فکر کنید cronjob کار نمیکند.

برای اینکه مطمئن شوید کرن جاب فعال است و کار میکند چند راه پیشنهاد میشود:

تنظیم ایمیل برای دریافت نتیجه cron job:

در سی پنل معمولا با هر بار اجرای cron job یک ایمیل برای صاحب هاست ارسال میشود. میتونید در بخش Cron jobs ایمیل دلخواه خود را تنظیم کنید تا نتیجه اجرای cron job به ایمیل شما ارسال شود.

برای این کار اگر کادر تنظیم ایمیل را نمیبینید روی More (شماره ۱ در شکل زیر) کلیک کنید. در کادر ایمیل آدرس ایمیل خود را بنویسید و روی Update Email کلیک کنید.

ارسال ایمیل cron job
ارسال ایمیل cron job

البته باید به چند نکته توجه داشته باشید:

  1. فقط در صورتی ایمیل ارسال میشود که دستور شما خروجی داشته باشد. یعنی اگر فایل یا دستوری که در cron job برای اجرا قرار داده اید هیچ خروجی ندارد و فقط اطلاعاتی را پردازش و ذخیره یا … میکند و هیچ خروجی در صفحه نمایش ندارد ایمیل ارسال نمیشود.
  2. توجه داشته باشید ارسال ایمیل برای دستور cron job نباید فعال باشد مگر برای تست. چون ممکن است با ارسال بیش از حد ایمیل باعث مسدود شدن سرویس شود. (لینک آموزش غیرفعال کردن ارسال ایمیل)

ذخیره یک متن دلخواه در فایل:

راه دیگر برای اینکه مطمئن شوید cron job اجرا میشود یا خیر این است که در ابتدای کدهای php خود یک دستور اضافه کنید تا با هر بار اجرای cron job یک متن در فایل دلخواه شما ذخیره شود.

برای مثال میتونید از این کد در ابتدای فایل cron خود استفاده کنید:

<?php $log_path = dirname(__FILE__).'/cron.txt';
$default_timezone = 'Asia/Tehran';
Date_default_timezone_set($default_timezone);
$now = date("Ymd @ H:i:s");
file_put_contents($log_path , $now.PHP_EOL, FILE_APPEND);

 

پس از اضافه کردن کد فوق، هر بار cron job‌ اجرا شود تاریخ و زمان اجرا در فایل cron.txt ثبت میشود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.