Ensure all pending jobs are retained in case the application is not closed cleanly for any reason:
Clear job queue file only at exit, and only if the user chooses not to save the queue.
Immediately save the queue to file when a job is added or removed, to prevent the changes from being lost in case of unclean exit. Queue file will still be cleared if user chooses to do so when closing the application.
Ensure all pending jobs are retained in case the application is not closed cleanly for any reason: