At the moment if the function populate is called with the arguments limit=n and reserve_jobs=True, limit sets the number of keys that is checked against the job table. This means if populate is called on two instances with populate(reserve_jobs=True, limit=1), the first instance selects the first key and populates it while the second instance selects the same key, detects that the job is already reserved and stops without populating an entry. The desired behavior from my point of view would be to select the first free key and populate that entry.
This is important when populating tables on a cluster where job runtimes have to be limited and estimated in advance so that one wants to limit the number of keys populated per job.