【问题标题】:ConnectionResetError while running through cron通过 cron 运行时出现 ConnectionResetError
【发布时间】:2021-09-19 19:51:33
【问题描述】:

我正在通过“请求”模块发送一个简单的“发布”请求。直接通过linux终端执行它工作正常。但是,当我通过 crontab 设置时,日志显示错误。

  • 如果我通过终端执行以下操作,它可以正常工作。

'/usr/bin/python3.6 /location/sa/tb/uc/md/se/sea.py'

  • 如果我按如下方式设置 crontab,则会收到错误消息。
          • /usr/bin/python3.6 /location/sa/tb/uc/md/se/sea.py >> ~/Test_log.log 2>&1
  • 以下是错误信息:

文件 "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", 第 600 行,在 urlopen 中 chunked=chunked)文件“/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py”, 第 343 行,在 _make_request self._validate_conn(conn) 文件“/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py”, 第 839 行,在 validate_conn conn.connect() 文件“/usr/local/lib/python3.6/site-packages/urllib3/connection.py”,行 344,连接中 ssl_context=context) 文件“/usr/local/lib/python3.6/site-packages/urllib3/util/ssl.py”,行 345,在 ssl_wrap_socket 中 return context.wrap_socket(sock, server_hostname=server_hostname) File "/usr/lib64/python3.6/ssl.py", line 365, in wrap_socket _context=self, _session=session) 文件“/usr/lib64/python3.6/ssl.py”,第 776 行,在 init self.do_handshake() 文件“/usr/lib64/python3.6/ssl.py”,第 1036 行,在 do_handshake self._sslobj.do_handshake() 文件“/usr/lib64/python3.6/ssl.py”,第 648 行,在 do_handshake self._sslobj.do_handshake() ConnectionResetError: [Errno 104] Connection reset by peer

我尝试了什么?

  • 尝试在脚本中添加绝对路径。

  • 向标头添加了代理,但不行。

任何帮助将不胜感激。

【问题讨论】:

  • 第一次执行,给出的错误是[Errno 104] Connection reset by peer。进一步的请求错误是[Errno 32] Broken pipe
  • 进一步的错误是:urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

标签: python python-3.x cron


【解决方案1】:

某些服务器在从单个连接调用多个请求时不会立即开始重新侦听(check_mk 标志)。原因之一是避免 DoS 攻击和对所有用户的服务可用性。

由于您的 crontab 使您的脚本使用单个连接多次调用相同的 API,我建议您在发出请求之前添加一个 void 计时器,例如在调用 API 之前添加 time.sleep(0.01)

【讨论】:

  • 谢谢你的建议,我试过了;但没有用。外部调用的 cron 设置可能是我们的服务器问题。欢迎任何其他建议。
猜你喜欢
  • 1970-01-01
  • 2019-12-24
  • 2016-09-03
  • 2015-11-10
  • 2018-02-28
  • 2019-07-23
  • 1970-01-01
  • 2013-09-19
  • 1970-01-01
相关资源
最近更新 更多