Skip to main content
الاستعلام في ClickHouse Cloudتُخزَّن بيانات جدول النظام هذا محليًا على كل عقدة في ClickHouse Cloud. لذلك، يتطلب الحصول على رؤية كاملة لجميع البيانات استخدام الدالة clusterAllReplicas. راجع هنا لمزيد من التفاصيل.

الوصف

يتضمن معلومات عن أحدث المهام غير المتزامنة وحالتها (مثل مهام تحميل الجداول). يحتوي الجدول على صف لكل مهمة. توجد أداة لعرض المعلومات الواردة في هذا الجدول بصريًا: utils/async_loader_graph.

الأعمدة

  • job (String) — اسم المهمة (قد لا يكون فريدًا).
  • job_id (UInt64) — المعرّف الفريد للمهمة.
  • dependencies (Array(UInt64)) — قائمة معرّفات المهام التي يجب إكمالها قبل هذه المهمة.
  • dependencies_left (UInt64) — العدد الحالي للتبعيات المتبقية التي يجب إكمالها.
  • status (Enum8(‘PENDING’ = 0, ‘OK’ = 1, ‘FAILED’ = 2, ‘CANCELED’ = 3)) — الحالة الحالية لتحميل المهمة: PENDING: لم تبدأ مهمة التحميل بعد. OK: نُفّذت مهمة التحميل بنجاح. FAILED: نُفّذت مهمة التحميل وفشلت. CANCELED: لن تُنفّذ مهمة التحميل بسبب إزالتها أو فشل إحدى تبعياتها.
  • is_executing (UInt8) — يجري حاليًا تنفيذ المهمة بواسطة worker.
  • is_blocked (UInt8) — تنتظر المهمة اكتمال تبعياتها.
  • is_ready (UInt8) — المهمة جاهزة للتنفيذ وتنتظر worker.
  • elapsed (Float64) — الثواني المنقضية منذ بدء التنفيذ. تكون صفرًا إذا لم تبدأ المهمة، وإجمالي وقت التنفيذ إذا انتهت.
  • pool_id (UInt64) — معرّف pool المعيّنة حاليًا للمهمة.
  • pool (String) — اسم pool ذات المعرّف pool_id.
  • priority (Int64) — أولوية pool ذات المعرّف pool_id.
  • execution_pool_id (UInt64) — معرّف pool التي تُنفّذ فيها المهمة. يساوي pool المعيّنة مبدئيًا قبل بدء التنفيذ.
  • execution_pool (String) — اسم pool ذات المعرّف execution_pool_id.
  • execution_priority (Int64) — أولوية pool ذات المعرّف execution_pool_id.
  • ready_seqno (Nullable(UInt64)) — ليس NULL للمهام الجاهزة. يسحب worker المهمة التالية للتنفيذ من ready queue الجاهزة الخاصة بـpool. إذا وُجدت عدة مهام جاهزة، تُختار المهمة ذات القيمة الأدنى لـ ready_seqno.
  • waiters (UInt64) — عدد threads المنتظرة لهذه المهمة.
  • exception (Nullable(String)) — ليس NULL للمهام الفاشلة والملغاة. يحتوي على رسالة الخطأ التي أُثيرت أثناء تنفيذ query، أو الخطأ الذي أدى إلى إلغاء هذه المهمة، إلى جانب dependency failure chain التي تتضمن أسماء المهام.
  • schedule_time (DateTime64(6)) — الوقت الذي أُنشئت فيه المهمة وجُدولت للتنفيذ، عادةً مع جميع تبعياتها.
  • enqueue_time (Nullable(DateTime64(6))) — الوقت الذي أصبحت فيه المهمة جاهزة وأُضيفت إلى ready queue الجاهزة الخاصة بـpool. NULL إذا لم تكن المهمة جاهزة بعد.
  • start_time (Nullable(DateTime64(6))) — الوقت الذي يسحب فيه worker المهمة من ready queue الجاهزة ويبدأ تنفيذها. NULL إذا لم تبدأ المهمة بعد.
  • finish_time (Nullable(DateTime64(6))) — الوقت الذي ينتهي فيه تنفيذ المهمة. NULL إذا لم تنتهِ المهمة بعد.
قد تكون المهمة قيد الانتظار في إحدى الحالات التالية:
  • is_executing (UInt8) - تُنفَّذ المهمة حاليًا بواسطة worker.
  • is_blocked (UInt8) - تنتظر المهمة اكتمال تبعياتها.
  • is_ready (UInt8) - المهمة جاهزة للتنفيذ وتنتظر worker.
  • elapsed (Float64) - عدد الثواني المنقضية منذ بدء التنفيذ. صفر إذا لم تبدأ المهمة. إجمالي وقت التنفيذ إذا انتهت المهمة.
ترتبط كل مهمة بـ pool خاص بها وتبدأ في هذا pool. لكل pool أولوية ثابتة وحدّ أقصى متغيّر لعدد workers. تُشغَّل أولًا المهام ذات الأولوية الأعلى (أي ذات القيمة الأقل لـ priority). لا تبدأ أي مهمة ذات أولوية أقل ما دام هناك مهمة واحدة على الأقل ذات أولوية أعلى جاهزة أو قيد التنفيذ. يمكن رفع أولوية المهمة (لكن لا يمكن خفضها) عبر منحها أولوية أعلى. على سبيل المثال، تُمنَح الأولوية لمهام تحميل table وبدء التشغيل إذا كان query وارد يتطلب هذا table. ويمكن منح أولوية أعلى لمهمة أثناء تنفيذها، لكن لا تُنقل المهمة من execution_pool الخاص بها إلى pool المعيَّن حديثًا. تستخدم المهمة pool عند إنشاء مهام جديدة لتجنّب انعكاس الأولوية. المهام التي بدأت بالفعل لا تُقاطَع بسبب مهام ذات أولوية أعلى، وتستمر دائمًا حتى الاكتمال بعد بدئها.
  • pool_id (UInt64) - معرّف pool المعيَّن حاليًا للمهمة.
  • pool (String) - اسم pool ذي المعرّف pool_id.
  • priority (Int64) - أولوية pool ذي المعرّف pool_id.
  • execution_pool_id (UInt64) - معرّف pool الذي تُنفَّذ فيه المهمة. ويساوي pool المعيَّن مبدئيًا قبل بدء التنفيذ.
  • execution_pool (String) - اسم pool ذي المعرّف execution_pool_id.
  • execution_priority (Int64) - أولوية pool ذي المعرّف execution_pool_id.
  • ready_seqno (Nullable(UInt64)) - تكون قيمته ليست NULL بالنسبة إلى ready jobs. يسحب worker المهمة التالية المطلوب تنفيذها من ready queue الخاصة بـ pool التابع له. وإذا وُجدت عدة ready jobs، فتُختار المهمة ذات القيمة الأصغر في ready_seqno.
  • waiters (UInt64) - عدد threads المنتظرة على هذه المهمة.
  • exception (Nullable(String)) - تكون قيمته ليست NULL بالنسبة إلى المهام الفاشلة والملغاة. يحتوي على رسالة error التي أُثيرت أثناء تنفيذ query أو error الذي أدى إلى إلغاء هذه المهمة، إلى جانب dependency failure chain الذي يبيّن أسماء المهام.
اللحظات الزمنية خلال lifetime المهمة:
  • schedule_time (DateTime64) - Time الذي أُنشئت فيه المهمة وجرت جدولتها للتنفيذ (عادةً مع جميع تبعياتها).
  • enqueue_time (Nullable(DateTime64)) - Time الذي أصبحت فيه المهمة جاهزة وأُضيفت إلى ready queue الخاصة بـ pool التابع لها. تكون NULL إذا لم تكن المهمة جاهزة بعد.
  • start_time (Nullable(DateTime64)) - Time الذي يسحب فيه worker المهمة من ready queue ويبدأ تنفيذها. تكون NULL إذا لم تكن المهمة قد بدأت بعد.
  • finish_time (Nullable(DateTime64)) - Time الذي ينتهي فيه تنفيذ المهمة. تكون NULL إذا لم تكن المهمة قد انتهت بعد.

مثال

آخر تعديل في ١٤ أغسطس ٢٠٢٦