Fix bug related to in-memory jobs not being prioritized properly.

This commit is contained in:
Greyson Parrelli
2025-10-24 13:37:15 -04:00
committed by jeffrey-signal
parent 9ed921f58c
commit c25ce2bcdd
2 changed files with 33 additions and 6 deletions

View File

@@ -356,10 +356,15 @@ class FastJobStorage(private val jobDatabase: JobDatabase) : JobStorage {
mostEligibleJobForQueue.keys.removeAll(affectedQueues)
for (queue in affectedQueues) {
jobDatabase.getMostEligibleJobInQueue(queue)?.let {
jobSpecCache[it.id] = it
placeJobInEligibleList(it.toMinimalJobSpec())
}
minimalJobs
.filter { it.queueKey == queue }
.minWithOrNull(
compareByDescending<MinimalJobSpec> { it.globalPriority }
.thenByDescending { it.queuePriority }
.thenBy { it.createTime }
.thenBy { it.id }
)
?.let { placeJobInEligibleList(it) }
}
for (jobId in ids) {