Saya menggunakan Rails, Puma, Capistrano3. Saya juga telah menginstal permata capistrano3-puma
. Saya memulai Puma dengan Puma Jungle https://github.com/puma/puma/tree/master/tools/jungle/upstart
Bagaimana cara memulai ulang Puma selama penerapan?
Produksi
Jika Anda menggunakan capistrano pada produksi, Anda bisa:
cap production deploy:restart
Pengembangan
Jika Anda menggunakan lingkungan pengembangan, Anda dapat mulai mencari pid
ps aux | grep puma
Anda akan melihat sesuatu seperti ini:
user 11654 0.0 13.4 870204 137016 ? Sl Jul07 0:39 puma 2.13.4 (tcp://0.0.0.0:3000) [NameOfYourApp]
Angka di sebelah nama pengguna, dalam hal ini 11654
adalah id proses (PID) server puma. Anda dapat mematikannya secara manual dan memulai ulang server setelahnya. Jalankan perintah ini:
kill -s 15 11654
Perintah ini mengatakan bunuh proses dengan id 11654 menggunakan sinyal SIGTERM (kode 15) . SIGTERM membunuh proses 'dengan hormat ' menutup semua file, koneksi, membersihkan buffer, dll.
Terakhir, jalankan perintah ini:
puma -e development -p 3000 -d
Puma akan dimulai lagi dalam mode pengembangan, mendengarkan pada port 3000 dan eksekusi akan dihentikan.
Sejauh yang saya tahu, jika Anda menggunakan gem capistrano3-puma
, Anda tidak perlu me-restart puma secara eksplisit setelah penerapan. Ada sebuah tugas add_default_hooks
yang melakukan puma:smart_restart
setelah penerapan.
Anda dapat melihat daftar tugas dengan cap -vT
. Saya rasa cap puma:restart
akan melakukan pekerjaannya.