X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/905c3255aea3746b60ab31ccdd6d9a9e6923b569..3513c7def7eacdeef16c355f1b9be93830dcf946:/services/datamanager/datamanager.go diff --git a/services/datamanager/datamanager.go b/services/datamanager/datamanager.go index b26e66ab37..5250d175ff 100644 --- a/services/datamanager/datamanager.go +++ b/services/datamanager/datamanager.go @@ -22,6 +22,7 @@ var ( logEventTypePrefix string logFrequencySeconds int minutesBetweenRuns int + collectionBatchSize int dryRun bool ) @@ -38,6 +39,10 @@ func init() { "minutes-between-runs", 0, "How many minutes we wait between data manager runs. 0 means run once and exit.") + flag.IntVar(&collectionBatchSize, + "collection-batch-size", + 1000, + "How many collections to request in each batch.") flag.BoolVar(&dryRun, "dry-run", false, @@ -76,7 +81,7 @@ func main() { var arvLogger *logger.Logger -func singlerun(arv arvadosclient.ArvadosClient) error { +func singlerun(arv *arvadosclient.ArvadosClient) error { var err error if isAdmin, err := util.UserIsAdmin(arv); err != nil { return errors.New("Error verifying admin token: " + err.Error()) @@ -137,7 +142,7 @@ func singlerun(arv arvadosclient.ArvadosClient) error { rlbss.Count) } - kc, err := keepclient.MakeKeepClient(&arv) + kc, err := keepclient.MakeKeepClient(arv) if err != nil { return fmt.Errorf("Error setting up keep client %v", err.Error()) } @@ -180,7 +185,7 @@ func singlerun(arv arvadosclient.ArvadosClient) error { } // BuildDataFetcher returns a data fetcher that fetches data from remote servers. -func BuildDataFetcher(arv arvadosclient.ArvadosClient) summary.DataFetcher { +func BuildDataFetcher(arv *arvadosclient.ArvadosClient) summary.DataFetcher { return func( arvLogger *logger.Logger, readCollections *collection.ReadCollections, @@ -193,7 +198,7 @@ func BuildDataFetcher(arv arvadosclient.ArvadosClient) summary.DataFetcher { collection.GetCollectionsParams{ Client: arv, Logger: arvLogger, - BatchSize: 1000}) + BatchSize: collectionBatchSize}) collDone <- struct{}{} }() @@ -204,7 +209,7 @@ func BuildDataFetcher(arv arvadosclient.ArvadosClient) summary.DataFetcher { Logger: arvLogger, Limit: 1000}) - <- collDone + <-collDone // Return a nil error only if both parts succeeded. if collErr != nil {