aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/actions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/actions.rs')
-rw-r--r--src/actions.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/actions.rs b/src/actions.rs
index bf78414..d006207 100644
--- a/src/actions.rs
+++ b/src/actions.rs
@@ -1,6 +1,7 @@
use std::fmt;
use anyhow::Result;
+use async_scoped::TokioScope;
use async_trait::async_trait;
use log::{debug, info, warn};
use serde::Deserialize;
@@ -119,3 +120,14 @@ pub async fn get_actions<'a>(
result
}
+
+pub async fn run_actions(
+ actions: &[&(dyn Action<'_> + Sync)],
+ params: Option<MessageParams<'_, '_>>,
+) {
+ TokioScope::scope_and_block(|s| {
+ for &action in actions {
+ s.spawn(action.run(params.as_ref()));
+ }
+ });
+}