انتقل إلى المحتوى
use-cases / heartbeat-for-silent-jobs / hero
CRON · NOTIFICATIONS · SILENCE-ALARM

نبضة قلب للمهام الصامتة

أغلب أدوات المراقبة ترقب ما حدث. أنت احتجتَ إلى شيء يرقب ما لم يحدث. مدخلا cron — أحدهما ينبض، والآخر يستمع لغياب النبض — والصفحة التي تجدك على الشاطئ.

اقرأ توثيق cron
use-cases / heartbeat-for-silent-jobs / mechanism

مدخلا cron. أحدهما يقول أنا حيّ. الآخر يستمع للعدم.

المهمّة التي كانت لديك أصلاً تواصل عملها. بعد انتهائها، تُضيف curl واحداً: صفّ نبضة قلب إلى نقطة نهاية الإشعارات. مدخل cron ثانٍ يعمل بوتيرته الخاصّة ويفحص الصمت — إن لم تكن هناك نبضة جديدة، يُنبّه هاتفك. نجاح المهمّة صامت. غيابها صاخب.

worker.cron · المهمّة
POST · heartbeat
schedule0 2 * * *
# بعد انتهاء التصدير الليلي،# الوظيفة تطقطق نبضها الخاص.0 2 * * * /usr/local/bin/export.sh \ && curl -fsS -X POST \ https://notify.containers.hoody.com/heartbeats/backup-prod-db
الغياب هو الإشارة
watcher.cron · المستمع
GET · silence-check
schedule*/15 * * * *
# كل 15 دقيقة، اسأل: هل كان هناك نبض؟# إن كانت صامتة لأكثر من ساعة، API تطقطق جميع القنوات.*/15 * * * * curl -fsS \ https://notify.containers.hoody.com/silence-check?\ job=backup-prod-db&max_age=1h

طلبا POST إلى /users/root/entries بتعبيرين من خمسة حقول. الأول يعمل بعد كل مهمّة مجدولة ويُرسل نبضتها. الثاني يعمل بوتيرته الخاصّة، يسأل نقطة نهاية الإشعارات إن كانت آخر نبضة طازجة بما فيه الكفاية، ويُطلق التنبيه إن لم تكن كذلك. لا قائمة انتظار، لا وكيل، لا خدمة دائمة — مجرّد سطرَي crontab كانا سيوجدان أصلاً.

use-cases / heartbeat-for-silent-jobs / powers

لماذا تختلف مراقبة الغياب

أغلب أدوات المراقبة ترقب مسار النجاح: تُنبّه حين يحدث شيء. هذا الشكل يُنبّه حين لا يحدث شيء — وهي الحالة التي تخسرها المهامّ الصامتة دائماً.

FAILURE MODES

يلتقط الانهيار الصامت

إن لم تنطلق عمليّة العامل أصلاً — أُعيد تشغيل الجهاز، حُذف السكربت، انتهت حصّة — فلا يوجد ما يُسجَّل ولا ما يُنبَّه عليه. مراقب cron يعمل على أيّ حال ويلاحظ أن صفّ نبضة القلب قديم. الشيء الذي يلتقط الانهيار الصامت هو بالضبط الشيء الذي لا يعتمد على الشيء الصامت.

ZERO SURFACE

لا خدمة جديدة لرعايتها

المراقب سطر crontab إضافيّ، وليس حساب Healthchecks.io ولا تنبيه CloudWatch. هو مرتبط بالحاوية ذاتها التي يجري فيها العمل، ينتهي بـ `expires_at` إن أردت ذلك، ويقرأ من واجهة الإشعارات ذاتها التي يستخدمها بقيّة طبقتك.

REACHES YOU

صاخب حين يهمّ

نقطة نهاية الإشعارات تنشر التنبيه عبر push وSMS والبريد الإلكتروني — القنوات التي تثق بها. أنت لا ترقب اللوحة. اللوحة ترقب نفسها، وتجدك على شاطئ بالي فقط حين يطول الصمت أكثر من اللازم.

use-cases / heartbeat-for-silent-jobs / capacity

cron حقيقيّ، إشعارات حقيقيّة

الآليّة هي Hoody Cron وHoody Notifications مباشرةً. الأرقام تأتي من سطح الـ API الموثَّق، لا من زمن تشغيل عرضي.

  1. كل بناء جملة CRON@daily

    تعبيرات معياريّة من 5 حقول إضافةً إلى الماكروات — `@hourly` و`@daily` و`@weekly` و`@monthly` و`@yearly`. يمكن أن يكون للمراقب وللعامل وتيرتان مختلفتان تماماً.

  2. AUTO-EXPIRYexpires_at

    المداخل المُدارة تدعم `expires_at`، لذا فإن نبضة قلب مؤقّتة (نافذة هجرة لأسبوع، مثلاً) تُنظّف نفسها. المراقب يختفي مع العمل.

  3. ISOLATIONper-user

    كل حاوية تحصل على crontab خاصّ بها. نبضة مستأجِر لا يمكنها إسكات مراقب آخر، وتعطيل مهمّة هو طلب PATCH واحد بـ `enabled: false`.

حدود وفق Hoody Cron API: تعبيرات من 5 حقول إضافةً إلى الماكروات `@hourly`/`@daily`/`@weekly`/`@monthly`/`@yearly`، حقل `expires_at` اختياريّ على المداخل المُدارة، عزل crontab لكل مستخدم، تفعيل/تعطيل عبر PATCH.

use-cases / heartbeat-for-silent-jobs / punchline

الصمت أصبح تنبيهاً.

قبل · مراقبة السجلافتح اللوحة · ابحث عن آخر تصدير · تنهّد · انسَلا تلاحظ المهمّة المفقودة إلا يوم الإثنين
بعد · مراقبة الصمت*/15 * * * * curl /silence-check?job=backup-prod-dbالصفحة تصلك بينما الصمت ما زال صغيراً
اقرأ توثيق cron
use-cases / heartbeat-for-silent-jobs / replaces

ما يحلّ هذا محلّه

الأدوات المعتادة حين تريد مراقب cron مع تنبيه. كلّ منها حساب منفصل وفاتورة منفصلة وواجهة منفصلة. سطرا crontab ونقطة نهاية الإشعارات تؤدّيان المهمّة نفسها.

  • custom orchestratorsخدمات تنسيق كاملة لما هو سطرا crontab
  • Healthchecks.ioحساب SaaS لمجرّد استقبال نبضة HTTP
  • Cronitorتسعير لكل مراقِب لشيء تفعله حاويتك أصلاً
  • Dead Man's Snitchالنمط ذاته بالضبط، يُباع كاشتراك
  • منبهات AWS CloudWatch للـ cronLambda وتنبيهات وسياسات IAM لصفّ واحد قديم
  • custom heartbeat collection scriptsخدمة دقيقة لتسجيل قيمة كان يمكن لـ cron إرسالها بـ POST
use-cases / heartbeat-for-silent-jobs / cta

كفّ عن مراقبة مسار النجاح. راقب غياب النجاح — هو المكان الوحيد الذي تعيش فيه الإخفاقات الصامتة.

اقرأ توثيق cron
use-cases / heartbeat-for-silent-jobs / related

اقرأ الآخرين