8
8
import com .conveyal .file .FileStorageFormat ;
9
9
import com .conveyal .r5 .analyst .progress .ProgressListener ;
10
10
import com .conveyal .r5 .analyst .progress .TaskAction ;
11
+ import com .conveyal .r5 .util .ExceptionUtils ;
11
12
import com .mongodb .DBObject ;
12
13
import com .mongodb .QueryBuilder ;
13
14
import org .mongojack .DBCursor ;
15
+ import org .slf4j .Logger ;
16
+ import org .slf4j .LoggerFactory ;
14
17
15
18
import java .util .Objects ;
16
19
@@ -21,6 +24,7 @@ public class GenerateRegionalAnalysisResults implements TaskAction {
21
24
FileStorageFormat .GEOTIFF ,
22
25
FileStorageFormat .PNG
23
26
};
27
+ private static final Logger LOG = LoggerFactory .getLogger (GenerateRegionalAnalysisResults .class );
24
28
public GenerateRegionalAnalysisResults (FileStorage fileStorage ) {
25
29
this .fileStorage = fileStorage ;
26
30
}
@@ -32,9 +36,12 @@ public void action(ProgressListener progressListener) throws Exception {
32
36
QueryBuilder .start ("cutoffsMinutes" ).is (null ).get (),
33
37
QueryBuilder .start ("destinationPointSetIds" ).is (null ).get ()
34
38
).get ();
39
+ int filesGenerated = 0 ;
35
40
try (DBCursor <RegionalAnalysis > cursor = Persistence .regionalAnalyses .find (query )) {
41
+ LOG .info ("Query found {} regional analyses to process." , cursor .count ());
36
42
while (cursor .hasNext ()) {
37
43
RegionalAnalysis regionalAnalysis = cursor .next ();
44
+ LOG .info ("Processing regional analysis {} of {}." , regionalAnalysis ._id , regionalAnalysis .accessGroup );
38
45
int [] percentiles = Objects .requireNonNullElseGet (regionalAnalysis .travelTimePercentiles , () -> new int []{regionalAnalysis .travelTimePercentile });
39
46
int [] cutoffs = Objects .requireNonNullElseGet (regionalAnalysis .cutoffsMinutes , () -> new int []{regionalAnalysis .cutoffMinutes });
40
47
String [] destinationPointSetIds = Objects .requireNonNullElseGet (regionalAnalysis .destinationPointSetIds , () -> new String []{regionalAnalysis .grid });
@@ -51,6 +58,7 @@ public void action(ProgressListener progressListener) throws Exception {
51
58
for (int cutoffMinutes : cutoffs ) {
52
59
for (int percentile : percentiles ) {
53
60
for (FileStorageFormat format : validFormats ) {
61
+ filesGenerated ++;
54
62
RegionalAnalysisController .getSingleCutoffGrid (
55
63
fileStorage ,
56
64
regionalAnalysis ,
@@ -63,7 +71,12 @@ public void action(ProgressListener progressListener) throws Exception {
63
71
}
64
72
}
65
73
}
74
+
75
+ LOG .info ("Finished processing {} of {}." , regionalAnalysis ._id , regionalAnalysis .accessGroup );
66
76
}
77
+ } catch (Exception e ) {
78
+ LOG .error (ExceptionUtils .shortAndLongString (e ));
67
79
}
80
+ LOG .info ("Method `getSingleCutoffGrid` was run {} times." , filesGenerated );
68
81
}
69
82
}
0 commit comments