One way to prevent NCA getting stuck on a batch load, aside from making NCA sync data, is to actually wait a few seconds before returning success or failure. A full batch load can take a while, but we can quickly tell a few problems if we just give it a short wait:
Is the awardee is missing?
Was the batch not found on disk?
Does the agent lacks permissions to call this command?
We could make it even better for some situations: the agent could actually parse the batch XML: this ensures the batch exists on disk and the agent can read it. It can also validate the awardee and return an error if it's not found. It could even verify the title's existence. A short delay before return, combined with some sanity checks, might actually mitigate all known problems that could give NCA problems.
One way to prevent NCA getting stuck on a batch load, aside from making NCA sync data, is to actually wait a few seconds before returning success or failure. A full batch load can take a while, but we can quickly tell a few problems if we just give it a short wait:
We could make it even better for some situations: the agent could actually parse the batch XML: this ensures the batch exists on disk and the agent can read it. It can also validate the awardee and return an error if it's not found. It could even verify the title's existence. A short delay before return, combined with some sanity checks, might actually mitigate all known problems that could give NCA problems.