code: protected void process(final Job job, final String curQueue) {
          boolean success = false;
          try {
              this.processingJob.set(true);
              if (threadNameChangingEnabled) {
                  renameThread("Processing " + curQueue + " since " + System.currentTimeMillis());
              }
              this.listenerDelegate.fireEvent(JOB_PROCESS, this, curQueue, job, null, null, null);
              this.jedis.set(key(WORKER, this.name), statusMsg(curQueue, job));
              final Object instance = this.jobFactory.materializeJob(job);
              final Object result = execute(job, curQueue, instance);
              success(job, instance, result, curQueue);
              success = true;
          } catch (Throwable thrwbl) {
              failure(thrwbl, job, curQueue);
          } finally {
              removeInFlight(curQueue, success);
              this.jedis.del(key(WORKER, this.name));
              this.processingJob.set(false);
          }
      }
docs: Materializes and executes the given job.
  
  @param job the Job to process
  @param curQueue the queue the payload came from