Ho un sito in esecuzione su ECS con RDS. Sto cercando di ripristinare il database (come descritto qui: Restore failed `entity2char already exists' RDS Postgres 13.7 - #7 by RGJ).
Il problema a questo punto è che il backup non si avvia perché si mette in pausa in attesa di sidekiq. Afferma di attendere 60 secondi, ma ho atteso 60 minuti e non ha mai smesso di attendere.
Poi ho deciso che avrei eliminato, creato e migrato il database prima del ripristino (sono abbastanza sicuro che sia quello che ha funzionato l’ultima volta), ma non riesco ancora a eliminare il db perché 6 task lo hanno aperto.
SELECT application_name,client_addr FROM pg_stat_activity;
Mostra questo (e ci sono 6 sidekiq con connessioni attive)
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
Uno di quegli indirizzi è l’ECS, l’altro un container che ho avviato su un EC2. In entrambi i container ho eseguito sv stop unicorn, che in altri contesti è stato sufficiente per poter eliminare il database.
Oh. E ora ho fermato il container sull’EC2, quindi quelle connessioni devono essere solo in attesa poiché si è spento senza chiuderle? Forse devo riavviare di nuovo il database. (Riavviare il database ha interrotto quelle connessioni e ora mostra solo connessioni inattive dal unicorn spento).
Cosa faccio per uccidere sidekiq? Vado in redis e cancello tutto? (L’ho già fatto prima e posso cercare su Google per capirlo di nuovo).