This needs to be thought over carefully.  What scenarios could this break in?  And what's the user experience if it does fail?

Scenarios: So far, just server start/stop, also if process is run separately.
UX: in the worst case, the user will show "Waiting for downloads to start....".  Refreshing the page should launch the process again; clicking "cancel downloads" should stop the process.

Note that if a page is refreshed, job_status should be True (job is running), and so should not be relaunched.  I verified this in manual testing.