新增溯源超时时间配置项

This commit is contained in:
ziyue 2022-01-12 17:58:07 +08:00
parent 6f4d8c5884
commit 170f5500cf
2 changed files with 7 additions and 3 deletions

View File

@ -163,6 +163,8 @@ alive_interval=10.0
#http-ts方式: http://127.0.0.1:80/%s/%s.live.ts #http-ts方式: http://127.0.0.1:80/%s/%s.live.ts
#支持多个源站,不同源站通过分号(;)分隔 #支持多个源站,不同源站通过分号(;)分隔
origin_url= origin_url=
#溯源总超时时长单位秒float型假如源站有3个那么单次溯源超时时间为timeout_sec除以3
timeout_sec=15
[http] [http]
#http服务器字符编码windows上默认gb2312 #http服务器字符编码windows上默认gb2312

View File

@ -72,8 +72,11 @@ onceToken token([](){
namespace Cluster { namespace Cluster {
#define CLUSTER_FIELD "cluster." #define CLUSTER_FIELD "cluster."
const string kOriginUrl = CLUSTER_FIELD "origin_url"; const string kOriginUrl = CLUSTER_FIELD "origin_url";
const string kTimeoutSec = CLUSTER_FIELD "timeout_sec";
static onceToken token([]() { static onceToken token([]() {
mINI::Instance()[kOriginUrl] = ""; mINI::Instance()[kOriginUrl] = "";
mINI::Instance()[kTimeoutSec] = 15;
}); });
}//namespace Cluster }//namespace Cluster
@ -234,10 +237,9 @@ static string getPullUrl(const string &origin_fmt, const MediaInfo &info) {
static void pullStreamFromOrigin(const vector<string>& urls, int index, int failed_cnt, const MediaInfo &args, static void pullStreamFromOrigin(const vector<string>& urls, int index, int failed_cnt, const MediaInfo &args,
const function<void()> &closePlayer) { const function<void()> &closePlayer) {
GET_CONFIG(float, hook_timeout_sec, Hook::kTimeoutSec); GET_CONFIG(float, cluster_timeout_sec, Cluster::kTimeoutSec);
auto url = getPullUrl(urls[index % urls.size()], args); auto url = getPullUrl(urls[index % urls.size()], args);
auto timeout_sec = hook_timeout_sec / urls.size(); auto timeout_sec = cluster_timeout_sec / urls.size();
InfoL << "pull stream from origin, failed_cnt: " << failed_cnt << ", timeout_sec: " << timeout_sec << ", url: " << url; InfoL << "pull stream from origin, failed_cnt: " << failed_cnt << ", timeout_sec: " << timeout_sec << ", url: " << url;
addStreamProxy(args._vhost, args._app, args._streamid, url, -1, args._schema == HLS_SCHEMA, false, addStreamProxy(args._vhost, args._app, args._streamid, url, -1, args._schema == HLS_SCHEMA, false,