static void _task_reload_m2_lb(gpointer p) { ADAPTIVE_PERIOD_DECLARE(); if (!PSRV(p)->nsinfo) return; if (ADAPTIVE_PERIOD_SKIP()) return; oio_lb_world__reload_pools(PSRV(p)->lb_world, PSRV(p)->lb, PSRV(p)->nsinfo); /* In meta2, we are only interrested in rawx services */ GSList *svctypes = g_slist_prepend(NULL, NAME_SRVTYPE_RAWX); GError *err = sqlx_reload_lb_service_types(PSRV(p)->lb_world, PSRV(p)->lb, svctypes); if (err) { GRID_WARN("Failed to reload "NAME_SRVTYPE_RAWX" services: %s", err->message); g_clear_error(&err); } else { ADAPTIVE_PERIOD_ONSUCCESS(10); } g_slist_free(svctypes); oio_lb_world__reload_storage_policies(PSRV(p)->lb_world, PSRV(p)->lb, PSRV(p)->nsinfo); oio_lb_world__debug(PSRV(p)->lb_world); }
void sqlx_task_reload_lb (struct sqlx_service_s *ss) { EXTRA_ASSERT(ss != NULL); ADAPTIVE_PERIOD_DECLARE(); if (!grid_main_is_running ()) return; if (!ss->lb || !ss->nsinfo) return; if (ADAPTIVE_PERIOD_SKIP()) return; GError *err = _reload_lbpool(ss->lb, FALSE); if (!err) { ADAPTIVE_PERIOD_ONSUCCESS(10); } else { GRID_WARN("Failed to reload the LB pool services: (%d) %s", err->code, err->message); g_clear_error(&err); } grid_lbpool_reconfigure(ss->lb, ss->nsinfo); }