I am implementing a booking system, and I need to record the concept of the time between the job being accepted and the job starting, and then the duration of the job. I need to move from 'State A' to 'State B' when the start time of the job is reached, and then from 'State B' to 'State C' once the end time of the job has been reached.
I know I could implement this using a queue system like Bull or Bee-Queue, but it seems wrong, as I only need to change the 'State' of my job, not perform any background processing.
How can I simply say "At 3pm, change this Task to 'State B', and at 5pm, change this Task to 'State C'".
Could I poll my DB every minute? Is this the 'correct' approach?