madwind/flexget_qbittorrent_mod

Sync error, reset rid. reason: not connected

tio-plato opened this issue · 14 comments

按照config.example.yaml 配置好后,每个任务进行的时候都会刷大量的 Sync error, reset rid. reason: not connected 的 WARNING,但是实际上任务都能正常运行。
image

你的refresh任务 连不上qb

你的refresh任务 连不上qb

实际上能连上,所有任务执行之前都会刷一屏,但是任务最后都能执行成功。
yaml 里面的 qbittorrent 设置是:

  qbittorrent_setting: &qbittorrent_setting
    host: qbittorrent
    port: 8080
    #非https请设置为 no
    use_ssl: no

通过docker内网连接的,并且qb设置了docker内网的免验证

你屏蔽 refresh_tracker 任务,我看你的所有警告都是来自这个 一定是这个任务有问题

你屏蔽 refresh_tracker 任务,我看你的所有警告都是来自这个 一定是这个任务有问题

我只是随便截了这一个,实际上每个任务开始前都会刷对应任务的warning
image
image

你这就是连不上qb了,可以进容器内部curl看看

你这就是连不上qb了,可以进容器内部curl看看

curl 是完全没问题,但是看起来flexget的任务跑的时候就要重试几十次才能连上
image

偶尔还会超出重试次数限制

Error when trying to send request to qbittorrent: HTTPConnectionPool(host='qbittorrent', port=8080): Max retries exceeded with url: /api/v2/app/webapiVersion (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0c8cd1d510>: Failed to establish a new connection: [Errno 111] Connection refused'))

qBittorrent 版本是 linuxserver/qbittorrent v4.5.4

那进python里看看
python
from requests import request
print(request('get','http://qbittorrent:8080/api/v2/app/webapiVersion'))

那进python里看看 python from requests import request print(request('get','http://qbittorrent:8080/api/v2/app/webapiVersion'))

image
看起来也没什么问题

那这样就奇怪了,你在
ptsites\client\qbittorrent_client.py
第88行 def _request(self, method: str, url: str, msg_on_fail: str | None = None, **kwargs) -> Response:
下面加一个 logger.info(url)
看看请求的是什么 url

那这样就奇怪了,你在 ptsites\client\qbittorrent_client.py 第88行 def _request(self, method: str, url: str, msg_on_fail: str | None = None, **kwargs) -> Response: 下面加一个 logger.info(url) 看看请求的是什么 url

image
测试了一下 curl http://qbittorrent:8080/api/v2/torrents/properties?hash=xxx 也没什么问题,能正常拿到返回的内容。
python里面也没问题
trackers的endpoint也没问题

我看了一下 是因为现在没有做无用户名和密码的连接,所以它会默认没有连接上,你看看能不能给flexget设置个例外,需要密码

我看了一下 是因为现在没有做无用户名和密码的连接,所以它会默认没有连接上,你看看能不能给flexget设置个例外,需要密码

看了下代码,connect() 里面 没有 username 和 password 的话直接 self.connected = True 就行了吧