MCPcopy Index your code
hub / github.com/APIParkLab/APIPark / syncGateway

Method syncGateway

module/ai-balance/iml.go:232–260  ·  view source on GitHub ↗
(ctx context.Context, clusterId string, releases []*gateway.DynamicRelease, online bool)

Source from the content-addressed store, hash-verified

230}
231
232func (i *imlBalanceModule) syncGateway(ctx context.Context, clusterId string, releases []*gateway.DynamicRelease, online bool) error {
233 client, err := i.clusterService.GatewayClient(ctx, clusterId)
234 if err != nil {
235 log.Errorf("get apinto client error: %v", err)
236 return nil
237 }
238 defer func() {
239 err := client.Close(ctx)
240 if err != nil {
241 log.Warn("close apinto client:", err)
242 }
243 }()
244 for _, releaseInfo := range releases {
245 dynamicClient, err := client.Dynamic(releaseInfo.Resource)
246 if err != nil {
247 return err
248 }
249 if online {
250 err = dynamicClient.Online(ctx, releaseInfo)
251 } else {
252 dynamicClient.Offline(ctx, releaseInfo)
253 }
254 if err != nil {
255 return err
256 }
257 }
258
259 return nil
260}
261
262func (i *imlBalanceModule) getLocalBalances(ctx context.Context, v string) ([]*gateway.DynamicRelease, error) {
263 balances, err := i.balanceService.Search(ctx, "", map[string]interface{}{"provider": ai_provider_local.ProviderLocal}, "priority asc")

Callers 4

SyncLocalBalancesMethod · 0.95
CreateMethod · 0.95
SortMethod · 0.95
DeleteMethod · 0.95

Calls 5

GatewayClientMethod · 0.65
CloseMethod · 0.65
DynamicMethod · 0.65
OnlineMethod · 0.65
OfflineMethod · 0.65

Tested by

no test coverage detected