I'm evaluating possible solutions for handling a large quantity of queued messages, which must be delivered to workers at a certain date and time. The result of executing them is mostly updates to stored data, and they may or may not be originally triggered by user action.
For example, think of what you'd implement in a hypothetical large-scale StarCraft game server for storing and executing users' actions, like upgrading a building, hatching a soldier, all of which requires to be applied to the game state after several seconds or minutes after the player initiates them.
The problem is I can't seem to find the right term to name this problem area. There are several that looks similar, but different:
cron/task/job scheduler
- The content of the queue is not dynamic, it's predefined.
- Each task is scheduled.
message queue
- The content of the queue is dynamic.
- Each task is intended to be delivered immediately.
???
- The content of the queue is dynamic.
- Each task is scheduled.
If there are message queues that allow conditional delivery of messages, that might be it.
Summary:
- What are these kind of technology called?
- What are some of the solutions out there?