لا يمكن الاستعادة لأن sidekiq لن يتخلى عن الأمر

لدي موقع يعمل في ECS مع RDS. أحاول استعادة قاعدة البيانات (كما هو موضح هنا: Restore failed `entity2char already exists' RDS Postgres 13.7 - #7 by RGJ).
المشكلة في هذه المرحلة هي أن النسخ الاحتياطي لن يبدأ لأنه يتوقف مؤقتًا في انتظار sidekiq. يدعي أنه ينتظر لمدة 60 ثانية، لكنني انتظرت 60 دقيقة ولم يتوقف الانتظار أبدًا.
ثم قررت أنني سأقوم بإسقاط وإنشاء وترحيل قاعدة البيانات قبل الاستعادة (أنا متأكد من أن هذا ما نجح في المرة الأخيرة)، لكنني ما زلت غير قادر على إسقاط قاعدة البيانات لأن 6 مهام لديها مفتوحة.

SELECT application_name,client_addr FROM pg_stat_activity;

يظهر هذا (وهناك 6 sidekiqs باتصالات نشطة)

 psql                                  | 10.3.2.155
 PostgreSQL JDBC Driver                | 127.0.0.1
                                       | 127.0.0.1
 sidekiq 6.5.8 discourse [0 of 5 busy] | 10.3.2.155
 sidekiq 6.5.8 discourse [0 of 5 busy] | 10.x.2.155
 sidekiq 6.5.8 discourse [0 of 5 busy] | 10.x.2.34
 sidekiq 6.5.8 discourse [0 of 5 busy] | 10.x.2.155
 sidekiq 6.5.8 discourse [0 of 5 busy] | 10.x.2.155
 sidekiq 6.5.8 discourse [0 of 5 busy] | 10.x.2.34

أحد هذه العناوين هو ECS، والآخر حاوية بدأتها في EC2. في كلتا الحاويتين، قمت بتشغيل sv stop unicorn، والذي كان كافياً في سياقات أخرى لتمكيني من إسقاط قاعدة البيانات.
أوه. والآن أوقفت الحاوية على EC2، لذا يجب أن تكون هذه الاتصالات معلقة فقط منذ أن تم إيقافها دون إغلاقها؟ ربما أحتاج إلى إعادة تشغيل قاعدة البيانات مرة أخرى. (أدت إعادة تشغيل قاعدة البيانات إلى إيقاف تلك الاتصالات، والآن تظهر فقط اتصالات خاملة من unicorn الذي تم إيقافه).
ماذا أفعل لقتل sidekiq؟ هل أدخل إلى redis وأمسح كل الأشياء؟ (لقد فعلت ذلك من قبل ويمكنني البحث لمعرفة ذلك مرة أخرى).

تحتاج فقط إلى إيقاف جميع المثيلات (الحاويات، اليونيكورن) التي تعمل بـ sidekiq بداخلها.

هذا ما كنت سأفكر فيه، ولكن حتى بعد إيقاف الحاوية التي تشغل sidekiq، كانت postgres لا تزال تُظهر اتصالات نشطة. وبالمثل، قمت بتشغيل sv stop unicorn على مثيل ECS ولكن postgres كانت لا تزال تُظهر اتصالات نشطة.

لقد قمت بإعادة تشغيل خادم RDS، وقمت بتشغيل الحاوية على EC2 (المثيلات في ECS ليس لديها مساحة قرص كافية للاستعادة)، sv stop unicorn، ثم إسقاط، وإنشاء، واستعادة قاعدة البيانات، والآن، أحاول الاستعادة.

شكراً جزيلاً على مساعدتك. أقدر ذلك حقاً!

إعجاب واحد (1)