async Task PostQueryStatsToMaster(FetchoAPIV1Client client) { foreach (var qry in Queries.OrderByDescending(x => x.Value.AvgCost)) { await client.PostWorkspaceQueryStatsAsync(new WorkspaceQueryStats(qry.Key, qry.Value)); } }
public void Setup() { var cfg = new FetchoConfiguration(); FetchoConfiguration.Current = cfg; cfg.SetConfigurationSetting( () => cfg.FetchoWorkspaceServerBaseUri, ConfigurationManager.AppSettings["FetchoWorkspaceServerBaseUri"] ); client = new FetchoAPIV1Client(new Uri(FetchoConfiguration.Current.FetchoWorkspaceServerBaseUri)); }
static async Task GetOrCreateServerNode(FetchoConfiguration cfg) { if (cfg.FetchoWorkspaceServerBaseUri.Length == 0) { return; } var fetchoClient = new FetchoAPIV1Client(new Uri(cfg.FetchoWorkspaceServerBaseUri)); cfg.CurrentServerNode = await fetchoClient.GetServerNodeAsync(Environment.MachineName); if (cfg.CurrentServerNode == null) { cfg.CurrentServerNode = await fetchoClient.CreateServerNodeAsync(new ServerNode()); } }
async Task SetupQueries(FetchoAPIV1Client fetchoClient) { var workspaces = await fetchoClient.GetWorkspacesAsync(); foreach (var workspace in workspaces.Distinct()) { var id = workspace.WorkspaceId.GetValueOrDefault(); if (!workspace.IsActive || string.IsNullOrWhiteSpace(workspace.QueryText)) { if (Queries.ContainsKey(id)) { Queries.Remove(id); } } else if (!Queries.ContainsKey(id)) { Queries.Add(id, new Query(workspace.QueryText)); } else if (Queries[id].OriginalQueryText != workspace.QueryText) { Queries[id] = new Query(workspace.QueryText); } } }
public QueryConsumer(params string[] args) { fetchoClient = new FetchoAPIV1Client(new Uri(FetchoConfiguration.Current.FetchoWorkspaceServerBaseUri)); Queries = new Dictionary <Guid, Query>(); ClearAll(); }