aboutsummaryrefslogtreecommitdiff
path: root/lib/App/MediaControl.rakumod
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2021-12-30 17:06:35 +0000
committerdakkar <dakkar@thenautilus.net>2021-12-30 17:06:35 +0000
commitd8623278929c620e22cfb943b5724c66e5f5fb91 (patch)
tree9bb2612b84236360afc07de10d46c547aeca87b5 /lib/App/MediaControl.rakumod
parentfix wrapping (diff)
downloadmedia-control-d8623278929c620e22cfb943b5724c66e5f5fb91.tar.gz
media-control-d8623278929c620e22cfb943b5724c66e5f5fb91.tar.bz2
media-control-d8623278929c620e22cfb943b5724c66e5f5fb91.zip
batch inserts!
Diffstat (limited to 'lib/App/MediaControl.rakumod')
-rw-r--r--lib/App/MediaControl.rakumod6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/App/MediaControl.rakumod b/lib/App/MediaControl.rakumod
index 82dc0dd..442ccb9 100644
--- a/lib/App/MediaControl.rakumod
+++ b/lib/App/MediaControl.rakumod
@@ -40,6 +40,7 @@ class App::MediaControl {
method !start-scan() {
my $root = $.config<media><root>;
$!db.clear-seen();
+ my Supplier $to-add .= new;
start react {
whenever scan-dir($root) -> $item {
when $item ~~ $root {}
@@ -54,9 +55,12 @@ class App::MediaControl {
}
else {
my $is-dir = $item.d;
- $!db.add-entry(:$path,:$name,:$is-dir);
+ $to-add.emit(%(:$path,:$name,:$is-dir));
}
}
+ whenever $to-add.Supply.batch(:100elems,:2seconds) -> $items {
+ $!db.add-entries($items);
+ }
}
}