def delete_message(self, req): if req.method != "POST": return HTTP_405, "Expected a POST request." queue = req.post_data["queue"] message_id = req.post_data["id"] self.iface.delete_message(queue, message_id) return redirect(self.make_uri("queues", q_name(queue), tab_from_q_name(queue)))
def job(self, req, *, name, current_tab, message_id): qft = queue_for_tab(name, current_tab) queue = self.iface.get_queue(q_name(name)) job = self.iface.get_job(qft, message_id) if not job: return redirect(self.make_uri("queues", name, current_tab)) return { "queue": queue, "job": job, "queue_for_tab": qft, }
def queue(self, req, *, name, current_tab="standard"): cursor = int(req.params.get("cursor", 0)) qft = queue_for_tab(name, current_tab) queue = self.iface.get_queue(q_name(name)) next_cursor, jobs = self.iface.get_jobs(qft, cursor) return { "queue": queue, "jobs": jobs, "cursor": next_cursor, "current_tab": current_tab, "queue_for_tab": qft, }
def requeue_message(self, req): if req.method != "POST": return HTTP_405, "Expected a POST request." queue = req.post_data["queue"] message_id = req.post_data["id"] job = self.iface.get_job(queue, message_id) if not job: return HTTP_410, "The requested message no longer exists." self.iface.delete_message(queue, message_id) job_copy = Job.from_message(self.broker.enqueue(job.message.copy( queue_name=q_name(queue), options={ "eta": job.message_timestamp, "retries": 0 }, ))) return redirect(self.make_uri( "queues", q_name(queue), tab_from_q_name(queue), job_copy.message_id, ))
def test_q_name_returns_canonical_names(given, expected): assert q_name(given) == expected