     ideally   = errify callback
     allCounts = []
 
-    await @redis.keys "bull:*:id", ideally defer queues
+    await @scanRedis "bull:*:id", ideally defer queues
     for queue, i in queues
       name = queue[5..-4]
       await @stateCounts name, ideally defer allCounts[i]


    callback null, stuck

  #Returns all JOB keys in string form (ex: bull:video transcoding:101)
  allKeys: (queue = "*", callback) ->
    ideally = errify callback

    await @redis.keys "bull:#{queue}:[0-9]*", ideally defer jobsWithLocks
    result = (jobWithLock for jobWithLock in jobsWithLocks when jobWithLock[-5..] isnt ":lock")
    callback null, result

  listsByState: (queue = "*", state, callback) ->
    @redis.keys "bull:#{queue}:#{state}", callback

  #Returns the job data from a list of job ids
  fullKeysForList: (list, callback) ->

    return callback() unless ids and Array.isArray ids
    ideally = errify callback

    keys = []
    for id in ids
      await @scanRedis "bull:*:#{id}", ideally defer keymatches
      keys = keys.concat keymatches

    callback null, keys

  #Returns all jobs in object form, with state applied to object. Ex: {id: 101, queue: "video transcoding", state: "pending"}
  formatJobs: (queue = "*", keys, callback) ->
