equal
deleted
inserted
replaced
21 |
21 |
22 def start_session( |
22 def start_session( |
23 build_context: Build_Process.Context, |
23 build_context: Build_Process.Context, |
24 progress: Progress, |
24 progress: Progress, |
25 log: Logger, |
25 log: Logger, |
|
26 database_server: Option[SQL.Database], |
26 session_background: Sessions.Background, |
27 session_background: Sessions.Background, |
27 input_shasum: SHA1.Shasum, |
28 input_shasum: SHA1.Shasum, |
28 node_info: Host.Node_Info |
29 node_info: Host.Node_Info |
29 ): Session_Job = { |
30 ): Session_Job = { |
30 new Session_Job(build_context, progress, log, session_background, input_shasum, node_info) |
31 new Session_Job(build_context, progress, log, database_server, |
|
32 session_background, input_shasum, node_info) |
31 } |
33 } |
32 |
34 |
33 object Session_Context { |
35 object Session_Context { |
34 def load( |
36 def load( |
35 build_uuid: String, |
37 build_uuid: String, |
91 |
93 |
92 class Session_Job private[Build_Job]( |
94 class Session_Job private[Build_Job]( |
93 build_context: Build_Process.Context, |
95 build_context: Build_Process.Context, |
94 progress: Progress, |
96 progress: Progress, |
95 log: Logger, |
97 log: Logger, |
|
98 database_server: Option[SQL.Database], |
96 session_background: Sessions.Background, |
99 session_background: Sessions.Background, |
97 input_shasum: SHA1.Shasum, |
100 input_shasum: SHA1.Shasum, |
98 node_info: Host.Node_Info |
101 node_info: Host.Node_Info |
99 ) extends Build_Job { |
102 ) extends Build_Job { |
100 private val store = build_context.store |
103 private val store = build_context.store |
451 |
454 |
452 val output_shasum = { |
455 val output_shasum = { |
453 val heap = store.output_heap(session_name) |
456 val heap = store.output_heap(session_name) |
454 if (process_result.ok && store_heap && heap.is_file) { |
457 if (process_result.ok && store_heap && heap.is_file) { |
455 val slice = Space.MiB(options.real("build_database_slice")).bytes |
458 val slice = Space.MiB(options.real("build_database_slice")).bytes |
456 val digest = |
459 val digest = ML_Heap.store(database_server, session_name, heap, slice) |
457 using_optional(store.maybe_open_database_server())( |
|
458 ML_Heap.store(_, session_name, heap, slice)) |
|
459 SHA1.shasum(digest, session_name) |
460 SHA1.shasum(digest, session_name) |
460 } |
461 } |
461 else SHA1.no_shasum |
462 else SHA1.no_shasum |
462 } |
463 } |
463 |
464 |