Alright- re question 2) here's some deceptively simple pseudo-code that worked, I guess because as the process (a websocket object driven by an R6 class package) updates state through time, it manages to recheck the second if
conditional:
if (work_day == TRUE) {
start_my_process()
if (work_day == FALSE) {
end_my_process()
}
}