session observer session close fixed, kill process fixed and optimized, git submodule path updated
This commit is contained in:
@@ -71,6 +71,9 @@ const run_app = async (app_path, app_port) => {
|
||||
}
|
||||
|
||||
const kill_proc = (pid) => {
|
||||
if (!is_proc_running(pid)) {
|
||||
return
|
||||
}
|
||||
if (process.platform === 'win32') {
|
||||
spawn('taskkill', ['/pid', pid, '/f', '/t'])
|
||||
}
|
||||
|
||||
@@ -24,20 +24,24 @@ const check_sessions = async (sessions) => {
|
||||
}
|
||||
|
||||
// if something running kill process and skip remove from database
|
||||
if (!webrtc_running && !app_running) {
|
||||
if (!pending_list.is_waiting(session.session_id)) {
|
||||
pending_list.add(session.session_id)
|
||||
var close_session_result = await coordinator.close_session(session.session_id)
|
||||
if (close_session_result) {
|
||||
database.remove_running_session(session.session_id)
|
||||
} else {
|
||||
pending_list.remove(session.session_id)
|
||||
console.log('can not connect to coordinator')
|
||||
}
|
||||
if (!webrtc_running || !app_running) {
|
||||
// if session already in peding list skip
|
||||
if (pending_list.is_waiting(session.session_id)) {
|
||||
return
|
||||
}
|
||||
} else {
|
||||
pending_list.add(session.session_id)
|
||||
|
||||
// kill process if running
|
||||
kill_proc(session.webrtc_pid)
|
||||
kill_proc(session.app_pid)
|
||||
|
||||
var close_session_result = await coordinator.close_session(session.session_id)
|
||||
if (close_session_result) {
|
||||
await database.remove_running_session(session.session_id)
|
||||
} else {
|
||||
console.log('can not connect to coordinator')
|
||||
}
|
||||
pending_list.remove(session.session_id)
|
||||
}
|
||||
}))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user