code: def renew_item(self, item, expiration):
          
          conn = self._conn()
          self._run_expiration(conn)
          expiration += time.time()
          script = conn.register_script("""
          -- already expired?
          if redis.call("hget", KEYS[2], "i" .. ARGV[1]) ~= "w" .. ARGV[3]
          then return -1 end
  
          -- otherwise just update the expiration
          redis.call("zadd", KEYS[1], ARGV[2], ARGV[1])
          return 0
          """)
          result = script(keys=[self._key_expiration(), self._key_workers()],
                          args=[item, expiration, self._get_worker_id(conn)])
          if result == -1:
              raise LostLease(item)
          return
docs: Update the expiration time for ``item``.
  
          The item will remain checked out for ``expiration`` seconds
          beyond the current time.  This queue instance must have
          already checked out ``item``, and this method can fail if
          ``item`` is already overdue.