> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> جدول نظامي يحتوي على معلومات عن المهام الحديثة غير المتزامنة وحالتها (مثل الجداول التي تكون قيد التحميل). يحتوي الجدول على صف لكل مهمة.

# system.asynchronous_loader

<Info>
  **الاستعلام في ClickHouse Cloud**

  تُخزَّن بيانات جدول النظام هذا محليًا على كل عقدة في ClickHouse Cloud. لذلك، يتطلب الحصول على رؤية كاملة لجميع البيانات استخدام الدالة `clusterAllReplicas`. راجع [هنا](/ar/reference/system-tables/overview#system-tables-in-clickhouse-cloud) لمزيد من التفاصيل.
</Info>

<div id="description">
  ## الوصف
</div>

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

<div id="columns">
  ## الأعمدة
</div>

* `job` ([String](/ar/reference/data-types/index)) — اسم المهمة (قد لا يكون فريدًا).
* `job_id` ([UInt64](/ar/reference/data-types/index)) — المعرّف الفريد للمهمة.
* `dependencies` ([Array(UInt64)](/ar/reference/data-types/index)) — قائمة بمعرّفات المهام التي يجب إكمالها قبل هذه المهمة.
* `dependencies_left` ([UInt64](/ar/reference/data-types/index)) — العدد الحالي للتبعيات المتبقي إكمالها.
* `status` ([Enum8('PENDING' = 0, 'OK' = 1, 'FAILED' = 2, 'CANCELED' = 3)](/ar/reference/data-types/index)) — حالة التحميل الحالية للمهمة: PENDING: لم تبدأ مهمة التحميل بعد. OK: نُفِّذت مهمة التحميل بنجاح. FAILED: نُفِّذت مهمة التحميل وأخفقت. CANCELED: لن تُنفَّذ مهمة التحميل بسبب الإزالة أو فشل إحدى التبعيات.
* `is_executing` ([UInt8](/ar/reference/data-types/index)) — تُنفَّذ المهمة حاليًا بواسطة عامل.
* `is_blocked` ([UInt8](/ar/reference/data-types/index)) — تنتظر المهمة اكتمال تبعياتها.
* `is_ready` ([UInt8](/ar/reference/data-types/index)) — المهمة جاهزة للتنفيذ وتنتظر عاملًا.
* `elapsed` ([Float64](/ar/reference/data-types/index)) — عدد الثواني المنقضية منذ بدء التنفيذ. تكون القيمة صفرًا إذا لم تبدأ المهمة. وتمثل إجمالي وقت التنفيذ إذا انتهت المهمة.
* `pool_id` ([UInt64](/ar/reference/data-types/index)) — معرّف المجمّع المعيَّن حاليًا للمهمة.
* `pool` ([String](/ar/reference/data-types/index)) — اسم المجمّع `pool_id`.
* `priority` ([Int64](/ar/reference/data-types/index)) — أولوية المجمّع `pool_id`.
* `execution_pool_id` ([UInt64](/ar/reference/data-types/index)) — معرّف المجمّع الذي تُنفَّذ فيه المهمة. ويكون في البداية مساويًا للمجمّع المعيَّن قبل بدء التنفيذ.
* `execution_pool` ([String](/ar/reference/data-types/index)) — اسم المجمّع `execution_pool_id`.
* `execution_priority` ([Int64](/ar/reference/data-types/index)) — أولوية المجمّع `execution_pool_id`.
* `ready_seqno` ([Nullable(UInt64)](/ar/reference/data-types/index)) — ليس NULL للمهام الجاهزة. يسحب العامل المهمة التالية المطلوب تنفيذها من قائمة الانتظار الجاهزة الخاصة بمجمّعه. وإذا كانت هناك عدة مهام جاهزة، فتُختار المهمة ذات أقل قيمة في `ready_seqno`.
* `waiters` ([UInt64](/ar/reference/data-types/index)) — عدد سلاسل التنفيذ التي تنتظر هذه المهمة.
* `exception` ([Nullable(String)](/ar/reference/data-types/index)) — ليس NULL للمهام الفاشلة والملغاة. يحتوي على رسالة الخطأ التي أُثيرت أثناء تنفيذ الاستعلام أو الخطأ الذي أدى إلى إلغاء هذه المهمة، إلى جانب سلسلة فشل التبعيات الخاصة بأسماء المهام.
* `schedule_time` ([DateTime64(6)](/ar/reference/data-types/index)) — الوقت الذي أُنشئت فيه المهمة وجرت جدولتها للتنفيذ (عادةً مع جميع تبعياتها).
* `enqueue_time` ([Nullable(DateTime64(6))](/ar/reference/data-types/index)) — الوقت الذي أصبحت فيه المهمة جاهزة وأُدرجت في قائمة الانتظار الجاهزة الخاصة بمجمّعها. تكون Null إذا لم تكن المهمة جاهزة بعد.
* `start_time` ([Nullable(DateTime64(6))](/ar/reference/data-types/index)) — الوقت الذي يزيل فيه العامل المهمة من قائمة الانتظار الجاهزة ويبدأ تنفيذها. تكون Null إذا لم تبدأ المهمة بعد.
* `finish_time` ([Nullable(DateTime64(6))](/ar/reference/data-types/index)) — الوقت الذي ينتهي فيه تنفيذ المهمة. تكون Null إذا لم تنتهِ المهمة بعد.

قد تكون المهمة المعلّقة في إحدى الحالات التالية:

* `is_executing` (`UInt8`) - تُنفَّذ المهمة حاليًا بواسطة عامل.
* `is_blocked` (`UInt8`) - تنتظر المهمة اكتمال تبعياتها.
* `is_ready` (`UInt8`) - المهمة جاهزة للتنفيذ وتنتظر عاملًا.
* `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` إذا لم تكن المهمة قد انتهت بعد.

<div id="example">
  ## مثال
</div>

```sql theme={null}
SELECT *
FROM system.asynchronous_loader
LIMIT 1
FORMAT Vertical
```
