منصوبے کے بارے میں

AetherGrid ایک توزیع شدہ AI ورکلوڈ آرکیسٹریٹر ہے جو کمپیوٹ نوڈز پر وسائل کی ضروریات اور پابندیوں کی بنیاد پر ورکلوڈز کو شیڈول کرتا ہے، اور قطار سے لے کر شیڈولڈ، چل رہا ہے، مکمل، ناکام، دوبارہ کوشش، اور منسوخ شدہ تک پوری جاب لائف سائیکل کا انتظام کرتا ہے۔ یہ سخت Domain-Driven Design کے گرد تعمیر کیا گیا ہے، جس میں ایک ڈی کوپلڈ ڈومین کور ہے جس کا انفراسٹرکچر سے کوئی انحصار نہیں ہے، ایک ایونٹ ڈرائیون ریکنسیلیشن لوپ، اور lease-based ایگزیکوشن مالکیت شامل ہے۔ پروجیکٹ کا بیان کردہ محرک اسکیل پر شیڈولنگ کے مشکل مسائل کا حل ہے: ناکامی کے تحت خصوصی ایگزیکوشن مالکیت، جزوی ناکامی کے بعد ریکنسیلیشن، اور نافذ کردہ وسائل کی حدیں۔ ڈومین لیئر (Job, Node, Worker, Lease, Event, ApiKey aggregates) میں شیڈولنگ الگورتھم اور لائف سائیکل اسٹیٹ مشین سادہ Python میں موجود ہے، جس میں FastAPI یا psycopg سے کوئی امپورٹس نہیں ہیں۔ ایپلیکیشن سروسز ڈومین آبجیکٹس اور ریپوزٹریز کو کوآرڈینٹ کرتی ہیں، جبکہ انفراسٹرکچر ہر ریپوزٹری کے لیے raw psycopg کا استعمال کرتے ہوئے PostgreSQL ایمپلیمنٹیشنز فراہم کرتا ہے، نیز لوکل ڈیولپمنٹ کے لیے کچھ ریپوزٹریز کے لیے SQLite ایمپلیمنٹیشنز شامل ہیں۔ پریزنٹیشن لیئر FastAPI ہے، اور فرنٹ اینڈ TypeScript کے ساتھ React ہے۔ بیان کردہ اہم صلاحیتوں میں API key تصدیق شامل ہے جو ہر روٹ کو گیٹ کرتی ہے (بشمول key-issuing اینڈ پوائنٹ، جس میں پہلی key صرف براہ راست ڈیٹا بیس تک رسائی والے لوکل اسکرپٹ کے ذریعے بنائی جاتی ہے)، واضح جاب اسٹیٹ ٹرانزیشنز بشمول CANCELLING اسٹیٹ کے ذریعے چل رہی جاب کی منسوخی، فی جاب لائف سائیکل ہسٹری صفحات، پابندیوں سے آگاہ best-fit allocator، نوڈ ڈریننگ، ورکر رجسٹریشن اور ہارٹ بیٹس، ایک اسٹینڈ ایلون ورکر ایجنٹ پروسیس جو HTTP کے ذریعے پولنگ کرتا ہے اور جابز کو حقیقی سب پروسیسز کے طور پر چلاتا ہے، مسلسل تجدید کے ساتھ lease-based ایگزیکوشن مالکیت، واضح ایگزیکوشن-اسٹارٹ کی تصدیق، دو مرحلہ شٹ ڈاؤن (SIGTERM پھر SIGKILL) کے ساتھ حقیقی سب پروسیس ایگزیکوشن، نوڈ لائیونیس ٹریکنگ، محدود دوبارہ کوششوں کے ساتھ ریکنسیلیشن، ڈومین ایونٹ ریکارڈنگ، لائیو کلسٹر وائیڈ ایونٹ فیڈ، ورکر وزیبلٹی، اور ملٹی پیج ڈیش بورڈ شامل ہے۔ README انجینئرنگ فیصلہ ریکارڈز پر زور دیتا ہے: 39 ADRs /docs/adr میں دستاویزی شکل میں موجود ہیں، جن میں ریکنسیلیشن لوپ، جاب ری کلیم اور ریکنسیلیشن مرمت، حقیقی جاب ایگزیکوشن، مسلسل لیج تجدید، API key تصدیق، شیڈولنگ پالیسی کی ڈومین مالکیت، اسٹینڈ ایلون ورکر ایجنٹ، لیج تجدید کے ذریعے منسوخی، آئیڈیمپوٹنٹ ورکر رجسٹریشن، منسوخی کے دوران چھوڑی گئی جابز کو واپس لینا، کلسٹر ٹک ایگزیکوشن کو ایونٹ لوپ سے ہٹانا، RUNNING ٹرانزیشنز کو مستقل کرنا، اور لیج شناخت کے ذریعے (ورکر شناخت نہیں) کئی لیج فینسنگ فکسز جیسے موضوعات شامل ہیں۔ README میں ڈومین، ایپلیکیشن، انفراسٹرکچر، اور API لیئرز میں 347 ٹیسٹس کا ذکر کیا گیا ہے، جن میں کنٹریکٹ ٹیسٹس شامل ہیں جو ثابت کرتے ہیں کہ ریپوزٹری ایمپلیمنٹیشنز یکساں رویہ اپناتی ہیں۔ پروجیکٹ میں Render پر تعینات ایک لائیو ڈیمو شامل ہے جس میں حقیقی Postgres، حقیقی تصدیق، اور API-key گیٹڈ اینڈ پوائنٹس ہیں۔ یہ MIT لائسنس کے تحت ہے اور Python 3.12، FastAPI، PostgreSQL، React/TypeScript، اور Docker Compose استعمال کرتا ہے۔