Shinyproxy: Klarifikasi tentang detak jantung untuk wadah buruh pelabuhan

Dibuat pada 25 Feb 2021  ·  4Komentar  ·  Sumber: openanalytics/shinyproxy

Saat kami meluncurkan pengujian kepada pengguna, saya mulai melihat beberapa wadah yang tidak dimatikan seperti yang saya harapkan. Saya telah menghubungi beberapa pengguna ini untuk melihat perilaku apa yang mereka miliki (yaitu apakah mereka membiarkan tab terbuka, dll.):

image

Sementara itu, saya bertanya-tanya apakah ada fitur batas waktu yang dapat dikonfigurasi yang mungkin tidak saya lihat dalam dokumentasi? Akan sangat bagus untuk memiliki usia maksimum wadah atau sesuatu seperti itu. Kami dapat menulis skrip kontrol Docker kami sendiri yang memeriksa ini, tetapi akan berguna jika ada sesuatu di ShinyProxy yang memungkinkan ini juga.

question

Komentar yang paling membantu

BTW, kami memiliki beberapa rencana untuk fitur max-lifetime , yang mematikan aplikasi setelah jangka waktu tertentu, terlepas dari apakah itu sedang digunakan. Ini belum diimplementasikan dan mungkin tidak akan berhasil di rilis berikutnya. Saya akan memberi tahu Anda jika kita mulai mengerjakannya.

Semua 4 komentar

+1

Hai @jat255

ShinyProxy saat ini berfungsi sebagai berikut:

  • setiap proxy.heartbeat-rate ShinyProxy mengirimkan detak jantung ke klien. Jika klien menjawab, status internal diperbarui dengan waktu saat ini. Default heartbeat-rate adalah 10 detik. Detak jantung ini dikirim melalui saluran websocket (jika ada).
  • setiap permintaan HTTP ke aplikasi juga memperbarui status internal.
  • jika detak jantung terakhir wadah lebih lama dari proxy.heartbeat-timeout lalu, ShinyProxy mematikan aplikasi. Ini secara default 60 detik.

Selama pengguna tetap membuka browser dan koneksi websocket terbuka atau permintaan HTTP dikirim, ShinyProxy mengasumsikan bahwa aplikasi sedang digunakan dan dengan demikian tidak akan mematikannya.
Perhatikan bahwa Spring juga akan membuat sesi pengguna tetap terbuka selama aplikasi mengirimkan permintaan HTTP.

Oleh karena itu dapat terjadi bahwa aplikasi hidup untuk waktu yang lama. Namun, saya melihat bahwa Anda memiliki aplikasi yang terbuka selama 75 jam, yaitu sekitar tiga hari, ini berarti bahwa pengguna menjalankan komputer mereka selama tiga hari (tanpa penangguhan). Mungkinkah ini masalahnya? Jika tidak, Anda mungkin menemukan bug, yang tidak kami ketahui.

BTW, kami memiliki beberapa rencana untuk fitur max-lifetime , yang mematikan aplikasi setelah jangka waktu tertentu, terlepas dari apakah itu sedang digunakan. Ini belum diimplementasikan dan mungkin tidak akan berhasil di rilis berikutnya. Saya akan memberi tahu Anda jika kita mulai mengerjakannya.

@LEDfan terima kasih banyak atas klarifikasinya. Saya tidak yakin apakah sesi yang berjalan lama adalah bug, atau jika seseorang membiarkan tab berjalan di komputer kantor mereka (mencoba mendapatkan lebih banyak info dari pengguna). Masa sesi terbatas ini merupakan masalah keamanan bagi tim detik TI kami (mereka tidak suka melihat sesuatu yang masuk dalam waktu lama tanpa pengguna duduk di sana). Sesuatu seperti max-lifetime memang akan berguna. Saya pikir sementara itu, kita akan membuat fungsi timeout ala ide ini , untuk memberi peringatan kepada pengguna bahwa mereka akan keluar, dan kemudian mematikan server Shiny jika tidak ada respons, yang (seperti yang saya mengerti) harus membuat wadah buruh pelabuhan dibersihkan. Saya akan melanjutkan dan menutup ini berdasarkan klarifikasi di atas. Terima kasih!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat