python-rq作业没有超时

时间:2016-06-24 12:12:14

标签: python-3.x redis queue python-rq

有没有办法为工人指定“maximum”= inf超时? 我有一些长期运行的任务,如果因超时而失败,我会在工作人员内部处理它。

可以通过cli指定吗?

2 个答案:

答案 0 :(得分:1)

timeout参数指定任务在被视为“丢失”之前的最大运行时间。可与@ job,Queue,enqueue& enqueue_call。

    SqlDataReader r;
    SqlCommand cmd = new SqlCommand("Select * from Student where Std_Id='" +Convert.ToInt32(Request.QueryString["stdId"]) + "' and Password='" +Request.QueryString["pass"]+ "'", con);
   try
   {
    con.Open();
        r = cmd.ExecuteReader();
        if (r.Read())
            Label1.Text = "success";
        else
            Label1.Text = "fail";
        con.Close();
     }
      catch
      {
          Label1.Text = "error";
      }

python-rq.org/docs

答案 1 :(得分:0)

设置 Queue(default_timeout=-1) 可以解决问题。这是对他们的源代码的引用:

    def create_job(self, func, args=None, kwargs=None, timeout=None,
               result_ttl=None, ttl=None, failure_ttl=None,
               description=None, depends_on=None, job_id=None,
               meta=None, status=JobStatus.QUEUED, retry=None):
    """Creates a job based on parameters given."""
    timeout = parse_timeout(timeout)

    if timeout is None:
        timeout = self._default_timeout
    elif timeout == 0:
        raise ValueError('0 timeout is not allowed. Use -1 for infinite timeout')