Orbital drop requests are starved by other requests
Posted: Sat Oct 26, 2024 6:50 pm
[2.0.11]
If a Cargo Landing Pad is constantly demanding a specific item, all drop pods sent down will be dedicated to that item, leading to starvation of other requests which are never sent down. This can even lead to starvation of manual drop slots, I've manually put an item into an orbital drop slot to have it delivered to the surface, only to find a few minutes later it hasn't been sent down due to a constant stream of drop pods all containing a small amount of iron plates.
Instead of sending down 20 iron plates every five seconds, I want it to send down 100 iron plates every thirty seconds, so it has time to send the other items I've requested.
There are two cases where I've seen this happen:
Several possible solutions (any one of these would fix my issue):
If a Cargo Landing Pad is constantly demanding a specific item, all drop pods sent down will be dedicated to that item, leading to starvation of other requests which are never sent down. This can even lead to starvation of manual drop slots, I've manually put an item into an orbital drop slot to have it delivered to the surface, only to find a few minutes later it hasn't been sent down due to a constant stream of drop pods all containing a small amount of iron plates.
Instead of sending down 20 iron plates every five seconds, I want it to send down 100 iron plates every thirty seconds, so it has time to send the other items I've requested.
There are two cases where I've seen this happen:
- Constant use on planetside. The Landing Pad is requesting 800 iron plates and has almost 800, but there is an inserter constantly removing iron plates from the Landing Pad. Every time a drop pod is getting sent, it will see iron plates are at 780/800 requested and send an iron plate drop pod with 20 iron plates.
- Constant production on platform. The Landing Pad has a large unmet request for iron plates, and the Platform is manufacturing a small trickle of them. Every time a drop pod is getting sent, 5 more iron plates have been inserted into the Space Platform Hub, so a drop pod gets sent with those 5 iron plates. Instead of first sending a drop pod for a different request, and then sending 10 iron plates in the following drop pod.
Several possible solutions (any one of these would fix my issue):
- Cycle through all requests/items before re-sending an item. If iron plates were just delivered, give all other requests (and manual drop slots) a chance to send a drop pod before giving iron plates another drop pod.
- Randomly select which request will be sent each time.
- Allow a "custom minimum payload" selection, similar to the rocket requests going in the other direction. E.g. "I'm requesting 800 iron plates from orbit, but only send down a drop pod if you can send at least 200 plates. Don't send a drop pod if it will only contain 20 plates."