This document describes an approach called "Ick" that uses Redis to provide a durable, starvation-free priority queue for asynchronous job processing. Ick uses two Redis sorted sets - a producer set and a consumer set. Messages are added to the producer set and the lowest scoring messages are moved to the consumer set in batches. This ensures messages are not lost on failure and hot data is not starved. Ick operations like ICKADD, ICKRESERVE, and ICKCOMMIT are implemented in Lua to provide atomicity. Ick addresses issues with basic queue approaches like message loss, unbounded backlogs, and hot data starvation.