لدي موقع يعمل في 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 وأمسح كل الأشياء؟ (لقد فعلت ذلك من قبل ويمكنني البحث لمعرفة ذلك مرة أخرى).