# نظارت بر Cron

Source: https://instatus.com/help/fa/monitoring/cron

مانیتورهای Cron به هر کار زمان‌بندی‌شده (پشتیبان‌گیری، پردازش دسته‌ای یا اسکریپت تکرارشونده) یک URL یکتا برای پینگ می‌دهند و وقتی پینگی دیر برسد یا نرسد به شما هشدار می‌دهند. اگر کار مدت دوره‌اش را از دست بدهد افت‌کرده و اگر مهلت را هم از دست بدهد قطع علامت می‌خورد.

مانند [سایر مانیتورها](https://instatus.com/help/fa/monitoring)، وقتی یک کار cron دچار خطا می‌شود، می‌توانید با تیمتان برای [حل حادثه](https://instatus.com/help/fa/incident-response) همکاری کنید و به‌دلخواه [صفحه وضعیت](https://instatus.com/help/fa/status-page) خود را به‌روزرسانی کنید.

| At a glance | Details |
| :-- | :-- |
| [شیوه کار](https://instatus.com/help/fa/monitoring/cron#نوع-مانیتور) | کارتان در هر اجرا یک URL یکتا را پینگ می‌کند |
| [مدت دوره](https://instatus.com/help/fa/monitoring/cron#مانیتور-موفق-است-اگر) | کار هر چند وقت باید اجرا شود |
| [مهلت](https://instatus.com/help/fa/monitoring/cron#مانیتور-موفق-است-اگر) | زمان اضافی پیش از آنکه کار دیرکرده قطع علامت بخورد |
| [پینگ دیرهنگام](https://instatus.com/help/fa/monitoring/cron#مانیتور-موفق-است-اگر) | افت‌کرده پس از مدت دوره، قطع پس از مهلت |
| [اعلام خطا](https://instatus.com/help/fa/monitoring/cron#اعلام-خطا) | URL را با /fail در انتها درخواست کنید |
| [زمان اجرا](https://instatus.com/help/fa/monitoring/cron#اندازهگیری-زمان-اجرای-کار) | /start را در آغاز کار و URL را در پایان پینگ کنید |

نمونه‌ای از ظاهر فهرست مانیتورهای cron شما:

![فهرست مانیتورهای cron](https://instatus.com/help/monitors/cron-list.png)

## مانیتور cron چه می‌کند؟

- وارسی اینکه کارهای cron شما سر وقت اجرا می‌شوند (با استفاده از پینگ‌هایی که کارهایتان می‌فرستند).
- دریافت هشدار در صورت تأخیر یا ناتمام ماندن یک کار.
- یکپارچه‌سازی با Slack، ایمیل، پیامک، تماس تلفنی و موارد دیگر برای هشدارها.

وقتی روی یک مانیتور cron کلیک می‌کنید، جزئیات بیشتری می‌بینید:

![جزئیات مانیتور cron](https://instatus.com/help/monitors/cron-item.png)

## چگونه مانیتور cron اضافه کنم؟

به پروژه خود → مانیتورها → افزودن مانیتور بروید، **Cron / ضربان** را انتخاب کنید، سپس کارتان را به URL تولیدشده وصل کنید و مدت دوره و مهلت آن را تنظیم کنید.

![افزودن مانیتور](https://instatus.com/help/monitors/cron-add.png)

### نوع مانیتور

**Cron/ضربان** را به‌عنوان نوع مانیتور انتخاب کنید.

![نوع مانیتور cron](https://instatus.com/help/monitors/type-cron.png)

یک نشانی یکتا برای شما ساخته می‌شود. کار cron شما باید هر بار که اجرا می‌شود یک درخواست HTTP (`HEAD`، `GET` یا `POST`) به این نشانی بفرستد.

### مانیتور موفق است اگر

مانیتور cron زمانی موفق است که کار شما نشانی تولیدشده را طبق زمان‌بندی پینگ کند. می‌توانید این‌ها را پیکربندی کنید:

- **مدت دوره:** کار هر چند وقت باید اجرا شود (مثلاً هر ۱۵ دقیقه).
- **مهلت:** زمان اضافی مجاز پیش از آنکه کار قطع در نظر گرفته شود.

اگر مدت دوره سپری شود و کار پینگ نکند، مانیتور افت‌کرده علامت می‌خورد.

اگر مهلت هم سپری شود و کار پینگ نکند، مانیتور قطع علامت می‌خورد.

می‌توانید [هشدارها](https://instatus.com/help/fa/monitoring/alerts) را طوری تنظیم کنید که هنگام خطا، افت یا بازیابی یک کار به شما اطلاع دهند.

## اعلام خطا

برای آنکه کار ناموفق علامت بخورد، حتی اگر اجرا شده و مانیتور را پینگ کرده باشد، درخواستی به URL مانیتور با `/fail` در انتها بفرستید.

این وقتی مفید است که اسکریپت شما به خطا برمی‌خورد و می‌خواهید Instatus بی‌درنگ آن اجرا را ناموفق ثبت کند.

- **پینگ موفقیت**: `https://cron.instatus.com/your-unique-url`
- **پینگ خطا**: `https://cron.instatus.com/your-unique-url/fail`

وقتی سیگنال خطا دریافت شود، مانیتور قطع علامت می‌خورد و هشدارها بی‌درنگ بر اساس [تنظیمات هشدار](https://instatus.com/help/fa/monitoring/alerts) شما فرستاده می‌شوند.

## اندازه‌گیری زمان اجرای کار

دو درخواست بفرستید، `/start` در آغاز کار و پینگ موفقیت یا خطا در پایان آن؛ Instatus فاصله زمانی میان این دو را به‌عنوان زمان اجرای کار ثبت می‌کند:

۱. **سیگنال شروع**: هنگام آغاز کار، درخواستی به `/start` بفرستید
۲. **سیگنال موفقیت/خطا**: هنگام پایان یا شکست کار، درخواستی به نشانی پایه بفرستید

- **پینگ شروع**: `https://cron.instatus.com/your-unique-url/start`
- **پینگ موفقیت**: `https://cron.instatus.com/your-unique-url`
- **پینگ خطا**: `https://cron.instatus.com/your-unique-url/fail`

فاصله میان سیگنال شروع و سیگنال موفقیت به‌عنوان زمان اجرای کار ثبت می‌شود. این کمک می‌کند کارایی را دنبال کنید و کارهایی را که بیش از حد انتظار طول می‌کشند شناسایی کنید.

اگر کار شما پس از فرستادن سیگنال شروع دچار خطا شد، به‌جای سیگنال موفقیت یک سیگنال خطا بفرستید تا ضمن ثبت زمان اجرا، ناموفق علامت بخورد.

تبریک، اولین مانیتور cron خود را اضافه کردید!

- [مانیتورهای Ping](https://instatus.com/help/fa/monitoring/ping): یاد بگیرید چگونه نقاط پایانی ping خود را از نظر زمان فعالیت و کارایی زیر نظر بگیرید
