requests has no default timeout, and these calls run synchronously on the
workflow thread. A server that accepts the connection and then never
replies — plausible for transmart.qq.com, which is not a public API —
blocks that thread forever: the queue behind it stalls, nothing is logged,
and there is no way to tell which node is responsible.
10s to connect, 30s to read. The existing handlers turn the resulting
exception into the node's usual error.
The Baidu node's request sat outside its try block, so a network failure
escaped as a raw requests exception instead of the readable message the
other two produce. Wrapped to match.