Muh*_*šić 2 python bash redis python-rq
我在队列失败时失败 1次.
$ rq info
failed |? 1
1 queues, 1 jobs total
Run Code Online (Sandbox Code Playgroud)
作为回答的@Byron露丝,我能得到这个数字是这样的:
from rq import Queue
from redis import Redis
q = Queue('failed', connection=Redis())
print len (q.jobs)
Run Code Online (Sandbox Code Playgroud)
在rq-dashboard上,我看到了回溯:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/rq/worker.py", line 588, in perform_job
rv = job.perform()
...
Run Code Online (Sandbox Code Playgroud)
如何使用Python代码获取此回溯?如果这是不可能的,任何命令行解决方案都是可接受的(如Bash或类似的).
小智 6
不确定您是否找到了解决方案.您可以从exc_info通话中获取追溯.例如:
>>> print(get_failed_queue().jobs[0].exc_info)
Traceback (most recent call last):
File "/Users/ubuntu/.venv/lib/python3.5/site-packages/rq/worker.py", line 700, in perform_job
rv = job.perform()
File "/Users/ubuntu/.venv/lib/python3.5/site-packages/rq/job.py", line 500, in perform
self._result = self.func(*self.args, **self.kwargs)
File "/Users/ubuntu/foo.py", line 17, in foobar
1/0
ZeroDivisionError: division by zero
Run Code Online (Sandbox Code Playgroud)