code: @Override
      public void triggeredJobComplete(final OperableTrigger trigger, final JobDetail jobDetail, final Trigger.CompletedExecutionInstruction triggerInstCode) {
          try {
              doWithLock(new LockCallbackWithoutResult() {
                  @Override
                  public Void doWithLock(JedisCommands jedis) throws JobPersistenceException {
                      try {
                          storage.triggeredJobComplete(trigger, jobDetail, triggerInstCode, jedis);
                      } catch (ClassNotFoundException e) {
                          logger.error("Could not handle job completion.", e);
                      }
                      return null;
                  }
              });
          } catch (JobPersistenceException e) {
              logger.error("Could not handle job completion.", e);
          }
      }
docs: Inform the <code>JobStore</code> that the scheduler has completed the
  firing of the given <code>Trigger</code> (and the execution of its
  associated <code>Job</code> completed, threw an exception, or was vetoed),
  and that the <code>{@link org.quartz.JobDataMap}</code>
  in the given <code>JobDetail</code> should be updated if the <code>Job</code>
  is stateful.
  
  @param trigger the completetd trigger
  @param jobDetail the completed job
  @param triggerInstCode the trigger completion code