equal
deleted
inserted
replaced
140 }) |
140 }) |
141 }) |
141 }) |
142 } |
142 } |
143 |
143 |
144 |
144 |
|
145 /* maintain build_log database */ |
|
146 |
|
147 val database_dirs = |
|
148 List(Path.explode("~/log"), Path.explode("~/afp/log"), Path.explode("~/cronjob/log")) |
|
149 |
|
150 def database_update(options: Options) |
|
151 { |
|
152 val store = Build_Log.store(options) |
|
153 using(store.open_database())(db => |
|
154 store.write_info(db, Build_Log.Log_File.find_files(database_dirs))) |
|
155 } |
|
156 |
|
157 |
145 |
158 |
146 /** task logging **/ |
159 /** task logging **/ |
147 |
160 |
148 sealed case class Logger_Task(name: String = "", body: Logger => Unit) |
161 sealed case class Logger_Task(name: String = "", body: Logger => Unit) |
149 |
162 |
196 |
209 |
197 class Logger private[Isabelle_Cronjob]( |
210 class Logger private[Isabelle_Cronjob]( |
198 val log_service: Log_Service, val start_date: Date, val task_name: String) |
211 val log_service: Log_Service, val start_date: Date, val task_name: String) |
199 { |
212 { |
200 def ssh_context: SSH.Context = log_service.ssh_context |
213 def ssh_context: SSH.Context = log_service.ssh_context |
|
214 def options: Options = ssh_context.options |
201 |
215 |
202 def log(date: Date, msg: String): Unit = log_service.log(date, task_name, msg) |
216 def log(date: Date, msg: String): Unit = log_service.log(date, task_name, msg) |
203 |
217 |
204 def log_end(end_date: Date, err: Option[String]) |
218 def log_end(end_date: Date, err: Option[String]) |
205 { |
219 { |
283 |
297 |
284 run(main_start_date, |
298 run(main_start_date, |
285 Logger_Task("isabelle_cronjob", _ => |
299 Logger_Task("isabelle_cronjob", _ => |
286 run_now( |
300 run_now( |
287 SEQ(List(build_release, build_history_base, |
301 SEQ(List(build_release, build_history_base, |
288 PAR(remote_builds.map(seq => SEQ(seq.map(remote_build_history(rev, _)))))))))) |
302 PAR(remote_builds.map(seq => SEQ(seq.map(remote_build_history(rev, _))))), |
|
303 Logger_Task("build_log_database", logger => database_update(logger.options))))))) |
289 |
304 |
290 log_service.shutdown() |
305 log_service.shutdown() |
291 |
306 |
292 main_state_file.file.delete |
307 main_state_file.file.delete |
293 } |
308 } |