code: protected void failure(final Throwable thrwbl, final Job job, final String curQueue) {
          try {
              PoolUtils.doWorkInPool(this.jedisPool, new PoolWork<Jedis, Void>() {
                  /**
                   * {@inheritDoc}
                   */
                  @Override
                  public Void doWork(final Jedis jedis) throws IOException {
                      jedis.incr(key(STAT, FAILED));
                      jedis.incr(key(STAT, FAILED, name));
                      final FailQueueStrategy strategy = failQueueStrategyRef.get();
                      final String failQueueKey = strategy.getFailQueueKey(thrwbl, job, curQueue);
                      if (failQueueKey != null) {
                          final int failQueueMaxItems = strategy.getFailQueueMaxItems(curQueue);
                          if (failQueueMaxItems > 0) {
                              Long currentItems = jedis.llen(failQueueKey);
                              if (currentItems >= failQueueMaxItems) {
                                  Transaction tx = jedis.multi();
                                  tx.ltrim(failQueueKey, 1, -1);
                                  tx.rpush(failQueueKey, failMsg(thrwbl, curQueue, job));
                                  tx.exec();
                              } else {
                                  jedis.rpush(failQueueKey, failMsg(thrwbl, curQueue, job));
                              }
                          } else {
                              jedis.rpush(failQueueKey, failMsg(thrwbl, curQueue, job));
                          }
                      }
                      return null;
                  }
              });
          } catch (JedisException je) {
              LOG.warn("Error updating failure stats for throwable=" + thrwbl + " job=" + job, je);
          } catch (IOException ioe) {
              LOG.warn("Error serializing failure payload for throwable=" + thrwbl + " job=" + job, ioe);
          } catch (Exception e) {
              throw new RuntimeException(e);
          }
          this.listenerDelegate.fireEvent(JOB_FAILURE, this, curQueue, job, null, null, thrwbl);
      }
docs: Update the status in Redis on failure.
  
  @param thrwbl the Throwable that occurred
  @param job the Job that failed
  @param curQueue the queue the Job came from