> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.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/string)) — اسم المهمة (قد لا يكون فريدًا).
* `job_id` ([UInt64](/ar/reference/data-types/int-uint)) — المعرّف الفريد للمهمة.
* `dependencies` ([Array(UInt64)](/ar/reference/data-types/array)) — قائمة معرّفات المهام التي يجب إكمالها قبل هذه المهمة.
* `dependencies_left` ([UInt64](/ar/reference/data-types/int-uint)) — العدد الحالي للتبعيات المتبقية التي يجب إكمالها.
* `status` ([Enum8('PENDING' = 0, 'OK' = 1, 'FAILED' = 2, 'CANCELED' = 3)](/ar/reference/data-types/enum)) — الحالة الحالية لتحميل المهمة: PENDING: لم تبدأ مهمة التحميل بعد. OK: نُفّذت مهمة التحميل بنجاح. FAILED: نُفّذت مهمة التحميل وفشلت. CANCELED: لن تُنفّذ مهمة التحميل بسبب إزالتها أو فشل إحدى تبعياتها.
* `is_executing` ([UInt8](/ar/reference/data-types/int-uint)) — يجري حاليًا تنفيذ المهمة بواسطة worker.
* `is_blocked` ([UInt8](/ar/reference/data-types/int-uint)) — تنتظر المهمة اكتمال تبعياتها.
* `is_ready` ([UInt8](/ar/reference/data-types/int-uint)) — المهمة جاهزة للتنفيذ وتنتظر worker.
* `elapsed` ([Float64](/ar/reference/data-types/float)) — الثواني المنقضية منذ بدء التنفيذ. تكون صفرًا إذا لم تبدأ المهمة، وإجمالي وقت التنفيذ إذا انتهت.
* `pool_id` ([UInt64](/ar/reference/data-types/int-uint)) — معرّف pool المعيّنة حاليًا للمهمة.
* `pool` ([String](/ar/reference/data-types/string)) — اسم pool ذات المعرّف `pool_id`.
* `priority` ([Int64](/ar/reference/data-types/int-uint)) — أولوية pool ذات المعرّف `pool_id`.
* `execution_pool_id` ([UInt64](/ar/reference/data-types/int-uint)) — معرّف pool التي تُنفّذ فيها المهمة. يساوي pool المعيّنة مبدئيًا قبل بدء التنفيذ.
* `execution_pool` ([String](/ar/reference/data-types/string)) — اسم pool ذات المعرّف `execution_pool_id`.
* `execution_priority` ([Int64](/ar/reference/data-types/int-uint)) — أولوية pool ذات المعرّف execution\_pool\_id.
* `ready_seqno` ([Nullable(UInt64)](/ar/reference/data-types/nullable)) — ليس NULL للمهام الجاهزة. يسحب worker المهمة التالية للتنفيذ من ready queue الجاهزة الخاصة بـpool. إذا وُجدت عدة مهام جاهزة، تُختار المهمة ذات القيمة الأدنى لـ `ready_seqno`.
* `waiters` ([UInt64](/ar/reference/data-types/int-uint)) — عدد threads المنتظرة لهذه المهمة.
* `exception` ([Nullable(String)](/ar/reference/data-types/nullable)) — ليس NULL للمهام الفاشلة والملغاة. يحتوي على رسالة الخطأ التي أُثيرت أثناء تنفيذ query، أو الخطأ الذي أدى إلى إلغاء هذه المهمة، إلى جانب dependency failure chain التي تتضمن أسماء المهام.
* `schedule_time` ([DateTime64(6)](/ar/reference/data-types/datetime64)) — الوقت الذي أُنشئت فيه المهمة وجُدولت للتنفيذ، عادةً مع جميع تبعياتها.
* `enqueue_time` ([Nullable(DateTime64(6))](/ar/reference/data-types/nullable)) — الوقت الذي أصبحت فيه المهمة جاهزة وأُضيفت إلى ready queue الجاهزة الخاصة بـpool. NULL إذا لم تكن المهمة جاهزة بعد.
* `start_time` ([Nullable(DateTime64(6))](/ar/reference/data-types/nullable)) — الوقت الذي يسحب فيه worker المهمة من ready queue الجاهزة ويبدأ تنفيذها. NULL إذا لم تبدأ المهمة بعد.
* `finish_time` ([Nullable(DateTime64(6))](/ar/reference/data-types/nullable)) — الوقت الذي ينتهي فيه تنفيذ المهمة. 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` إذا لم تكن المهمة قد انتهت بعد.

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

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