Merge pull request #1190 in FS/freeswitch from ~RAZVANC/freeswitch:feature/FS-10038-tune-heartbeat-events-interval to master

* commit '6d056e16989dc28b20a9b64d2d043edc6320c4fd':
  FS-10038: [core] tune heartbeat events interval
This commit is contained in:
Mike Jerris 2017-02-14 10:12:54 -06:00
commit 5160a55f57
3 changed files with 15 additions and 1 deletions

View File

@ -48,6 +48,9 @@
<!-- Minimum idle CPU before refusing calls -->
<!-- <param name="min-idle-cpu" value="25"/> -->
<!-- Interval between heartbeat events -->
<!-- <param name="event-heartbeat-interval" value="20"/> -->
<!--
Max number of sessions to allow at any given time.

View File

@ -302,6 +302,7 @@ struct switch_runtime {
int multiple_registrations;
uint32_t max_db_handles;
uint32_t db_handle_timeout;
uint32_t event_heartbeat_interval;
int cpu_count;
uint32_t time_sync;
char *core_db_pre_trans_execute;

View File

@ -206,7 +206,7 @@ SWITCH_STANDARD_SCHED_FUNC(heartbeat_callback)
send_heartbeat();
/* reschedule this task */
task->runtime = switch_epoch_time_now(NULL) + 20;
task->runtime = switch_epoch_time_now(NULL) + runtime.event_heartbeat_interval;
}
@ -1826,6 +1826,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, switc
runtime.max_db_handles = 50;
runtime.db_handle_timeout = 5000000;
runtime.event_heartbeat_interval = 20;
runtime.runlevel++;
runtime.dummy_cng_frame.data = runtime.dummy_data;
@ -2140,6 +2141,15 @@ static void switch_load_core_config(const char *file)
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "db-handle-timeout must be between 1 and 5000\n");
}
} else if (!strcasecmp(var, "event-heartbeat-interval")) {
long tmp = atol(val);
if (tmp > 0) {
runtime.event_heartbeat_interval = (uint32_t) tmp;
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "heartbeat-interval must be a greater than 0\n");
}
} else if (!strcasecmp(var, "multiple-registrations")) {
runtime.multiple_registrations = switch_true(val);
} else if (!strcasecmp(var, "auto-create-schemas")) {