def METHOD_NAME(self):
    # log admin user
    self._logSuperuserIn()
    # case 1: job didn't go through RQ-Scheduler, but directly to Queue
    job1 = self.queue.enqueue(dummy_job)
    rqjob1 = RQJob.objects.create(job_id=job1.id, trigger=self.trigger)
    Job.fetch(job1.id, connection=self.scheduler.connection)  # no error
    with self.connection.pipeline() as pipe:
        pipe.watch(self.scheduler.scheduled_jobs_key)
        self.assertIsNone(pipe.zscore(self.scheduler.scheduled_jobs_key, job1.id))
    url = reverse("admin:autoemails_rqjob_reschedule", args=[rqjob1.pk])
    scheduled_execution = datetime.now(tz=timezone.utc) + timedelta(
        days=1, minutes=15
    )
    scheduled_execution = scheduled_execution.replace(microsecond=0)
    payload = {
        "scheduled_execution": scheduled_execution,
        "scheduled_execution_0": f"{scheduled_execution:%Y-%m-%d}",
        "scheduled_execution_1": f"{scheduled_execution:%H:%M:%S}",
    }
    rv = self.client.post(url, payload, follow=True)
    self.assertIn(
        f"The job {job1.id} was not rescheduled. It is probably "
        "already executing or has recently executed",
        rv.content.decode("utf-8"),
    )
    # case 2: job is no longer in the RQ-Scheduler queue, but it was there!
    job2 = self.scheduler.enqueue_in(
        timedelta(minutes=5),
        dummy_job,
    )
    rqjob2 = RQJob.objects.create(job_id=job2.id, trigger=self.trigger)
    # move job to the queue so it's executed
    self.scheduler.enqueue_job(job2)
    Job.fetch(job2.id, connection=self.scheduler.connection)  # no error
    url = reverse("admin:autoemails_rqjob_reschedule", args=[rqjob2.pk])
    rv = self.client.post(url, payload, follow=True)
    self.assertIn(
        f"The job {job2.id} was not rescheduled. It is probably "
        "already executing or has recently executed",
        rv.content.decode("utf-8"),
    )