Execute reporting steps in parallel in libdrcr

This commit is contained in:
RunasSudo 2025-05-27 17:29:04 +10:00
parent 4ff0ea46db
commit c3a407b048
Signed by: RunasSudo
GPG Key ID: 7234E476BF21C61A

View File

@ -16,6 +16,8 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
use std::sync::Arc;
use chrono::NaiveDate; use chrono::NaiveDate;
use libdrcr::db::DbConnection; use libdrcr::db::DbConnection;
use libdrcr::reporting::builders::register_dynamic_builders; use libdrcr::reporting::builders::register_dynamic_builders;
@ -72,7 +74,7 @@ pub(crate) async fn get_balance_sheet(
]; ];
// Run report // Run report
let products = generate_report(targets, &context).await.unwrap(); let products = generate_report(targets, Arc::new(context)).await.unwrap();
let result = products let result = products
.get_or_err(&ReportingProductId { .get_or_err(&ReportingProductId {
name: "BalanceSheet", name: "BalanceSheet",
@ -128,7 +130,7 @@ pub(crate) async fn get_income_statement(
]; ];
// Run report // Run report
let products = generate_report(targets, &context).await.unwrap(); let products = generate_report(targets, Arc::new(context)).await.unwrap();
let result = products let result = products
.get_or_err(&ReportingProductId { .get_or_err(&ReportingProductId {
name: "IncomeStatement", name: "IncomeStatement",