منصوبے کے بارے میں
ریور گو کے لیے ایک پس منظر جاب پروسیسنگ لائبریری ہے جو اپنے جاب قطار کے طور پر پوسٹگریس استعمال کرتی ہے۔ یہ اس طرح ڈیزائن کی گئی ہے کہ ایپلیکیشن ڈیٹا اور جاب قطار ایک ہی ڈیٹا بیس کا اشتراک کریں، جس سے جابز کو دیگر ڈیٹا بیس تبدیلیوں کے ساتھ ٹرانزیکشنل طور پر ان کیو کیا جا سکتا ہے۔ جابز کی ان کیونگ کی ضمانت دی جاتی ہے اگر ان کا ٹرانزیکشن مکمل ہو جائے، رول بیک ہونے پر ہٹا دیے جاتے ہیں، اور کمٹ تک کام کے لیے نظر نہیں آتے۔
جابز کو اسٹرکٹ جوڑوں کے طور پر بیان کیا جاتا ہے: json تشریحات اور ایک مستحکم "kind" اسٹرنگ کے ساتھ ایک JobArgs امپلیمنٹیشن، نیز ایک Worker امپلیمنٹیشن جو Work فنکشن فراہم کرتا ہے۔ Workers اسٹارٹ اپ پر رجسٹر کیے جاتے ہیں تاکہ ریور جاب اقسام کو workers سے میپ کر سکے۔ ایک Client ڈیٹا بیس پول، ایک ڈرائیور، اور ایک کنفگ کے ساتھ بنایا جاتا ہے جس میں Workers بنڈل اور قطار کی ترتیبات شامل ہوتی ہیں۔ Clients کو شروع اور بند کیا جا سکتا ہے، کانٹیکسٹ کینسلیشن یا واضح Stop کال کے ذریعے مکرم بندش کے ساتھ۔ صرف داخل کرنے والے clients جابز کو کام کیے بغیر داخل کر سکتے ہیں۔
خصوصیات میں پوسٹگریس COPY FROM کا استعمال کرتے ہوئے بیچ جاب داخل کرنا، کام کے فنکشن کے اندر سے جابز کو منسوخ کرنا، ایرر اور پینک ہینڈلنگ، تھروپٹ اور تنہائی کے لیے متعدد قطاریں، متواتر اور کرون جابز، شیڈول شدہ جابز، اسنوزنگ جابز، قطار کی سرگرمی اور ٹیلی میٹری کے اعداد و شمار کی سبسکرپشنز، ٹیسٹ ہیلپرز، ٹرانزیکشنل جاب مکمل کرنا، args/period/queue/state کے لحاظ سے منفرد جابز، جابز اور قطاروں کے معائنے کے لیے ایک ویب UI، اور آسان کام کے فنکشنز شامل ہیں۔ ریور پائتھون اور روبی سے جابز داخل کرنے کی بھی حمایت کرتا ہے تاکہ کراس لینگویج ان کیونگ ہو سکے، جبکہ گو workers انہیں پروسیس کرتے ہیں۔
یہ پروجیکٹ Oban، Que، Sidekiq، Delayed::Job، GoodJob، اور Hangfire جیسی پس منظر جاب لائبریریوں سے متاثر ہے۔ README میں دستاویزات، godoc، ایک River UI، اور ایک لائیو ڈیمو کا حوالہ دیا گیا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.