6
6
"""
7
7
8
8
# standard packages
9
- import logging
9
+ import time
10
10
from datetime import datetime , timedelta
11
11
from pathlib import Path
12
12
13
13
# third party
14
- from delphi_utils import read_params
14
+ from delphi_utils import read_params , get_structured_logger
15
15
16
16
# first party
17
17
from .config import Config
20
20
21
21
def run_module ():
22
22
"""Read from params.json and generate updated claims-based hospitalization indicator values."""
23
+ start_time = time .time ()
23
24
params = read_params ()
24
- logging . basicConfig ( level = logging . DEBUG )
25
+ logger = get_structured_logger ( __name__ , filename = params . get ( "log_filename" ) )
25
26
26
27
# handle range of estimates to produce
27
28
# filename expected to have format: EDI_AGG_INPATIENT_DDMMYYYY_HHMM{timezone}.csv.gz
@@ -46,32 +47,33 @@ def run_module():
46
47
startdate = params ['start_date' ]
47
48
48
49
# print out information
49
- logging .info ("first sensor date:\t %s" , startdate )
50
- logging .info ("last sensor date:\t %s" , enddate )
51
- logging .info ("drop date:\t \t %s" , dropdate )
52
- logging .info ("n_backfill_days:\t %s" , params ["n_backfill_days" ])
53
- logging .info ("n_waiting_days:\t %s" , params ["n_waiting_days" ])
54
- logging .info ("geos:\t \t \t %s" , params ["geos" ])
55
- logging .info ("outpath:\t \t %s" , params ["export_dir" ])
56
- logging .info ("parallel:\t \t %s" , params ["parallel" ])
57
- logging .info ("weekday:\t \t %s" , params ["weekday" ])
58
- logging .info ("write_se:\t \t %s" , params ["write_se" ])
50
+ logger .info ("Loaded params" ,
51
+ startdate = startdate ,
52
+ enddate = enddate ,
53
+ dropdate = dropdate ,
54
+ n_backfill_days = params ["n_backfill_days" ],
55
+ n_waiting_days = params ["n_waiting_days" ],
56
+ geos = params ["geos" ],
57
+ outpath = params ["export_dir" ],
58
+ parallel = params ["parallel" ],
59
+ weekday = params ["weekday" ],
60
+ write_se = params ["write_se" ])
59
61
60
62
# generate indicator csvs
61
63
for geo in params ["geos" ]:
62
64
for weekday in params ["weekday" ]:
63
65
if weekday :
64
- logging .info ("starting %s, weekday adj" , geo )
66
+ logger .info ("starting weekday adj" , geo = geo )
65
67
else :
66
- logging .info ("starting %s, no adj" , geo )
68
+ logger .info ("starting no weekday adj" , geo = geo )
67
69
68
70
signal_name = Config .signal_weekday_name if weekday else Config .signal_name
69
71
if params ["write_se" ]:
70
72
assert params ["obfuscated_prefix" ] is not None , \
71
73
"supply obfuscated prefix in params.json"
72
74
signal_name = params ["obfuscated_prefix" ] + "_" + signal_name
73
75
74
- logging .info ("output signal name %s" , signal_name )
76
+ logger .info ("Updating signal name" , signal_name = signal_name )
75
77
updater = ClaimsHospIndicatorUpdater (
76
78
startdate ,
77
79
enddate ,
@@ -83,5 +85,8 @@ def run_module():
83
85
signal_name
84
86
)
85
87
updater .update_indicator (params ["input_file" ], params ["export_dir" ])
86
- logging .info ("finished %s" , geo )
87
- logging .info ("finished all" )
88
+ logger .info ("finished updating" , geo = geo )
89
+
90
+ elapsed_time_in_seconds = round (time .time () - start_time , 2 )
91
+ logger .info ("Completed indicator run" ,
92
+ elapsed_time_in_seconds = elapsed_time_in_seconds )
0 commit comments