I can't find a straight answer, is it possible to retry a job given just the job's redis id? I want to make an endpoint in Django that can manually retry a specific job, because I don't always need failed jobs to retry themselves.
An example might be clearer for what I want to do:
urls.py
:
urlpatterns = [
path('workorder/<str:order_id>/retry',views.workorder_retry, name='workorderretry'),
]
views.py
:
@api_view(['POST'])
def workorder_retry(request, order_id):
work_order = models.WorkOrder.objects.get(order_id=order_id)
print("work order retry: ")
q = util.rq_setup()
redis_conn = rq.get_connection('default')
old_job = q.fetch_job(str(work_order.job_id))
retried_job = q.enqueue(old_job)