Add data-aware batch planning

This commit is contained in:
2026-06-17 15:59:13 +00:00
parent c04e3c5599
commit 6f9255105d
5 changed files with 264 additions and 51 deletions

View File

@@ -265,7 +265,14 @@ func RunBatchDetailed(ctx context.Context, req BatchRequest) (*BatchResult, erro
if now.IsZero() {
now = time.Now()
}
resolvedReports, err := ResolveBatch(req, now)
if _, err := report.BatchForCommandName(string(req.Batch)); err != nil {
return nil, err
}
collection, err := collectWeather(ctx, req.Config, req.Collector)
if err != nil {
return nil, err
}
plannedReports, err := planBatchReports(req, now, *collection)
if err != nil {
return nil, err
}
@@ -280,12 +287,14 @@ func RunBatchDetailed(ctx context.Context, req BatchRequest) (*BatchResult, erro
}
startedAt := now
result := &BatchResult{Batch: req.Batch, StartedAt: startedAt}
for _, resolved := range resolvedReports {
for _, planned := range plannedReports {
resolved := planned.Resolved
if !resolved.Definition.Generated {
return nil, fmt.Errorf("run is not implemented")
}
}
for _, resolved := range resolvedReports {
for _, planned := range plannedReports {
resolved := planned.Resolved
item := batchReportResult(resolved)
if paths, err := store.Paths(resolved); err == nil {
item.DataPackagePath = paths.DataPackage