]> git.ktnx.net Git - mpd-feeder.git/blobdiff - lib/App/MPD/Feeder.pm
move mail event loop to Feeder
[mpd-feeder.git] / lib / App / MPD / Feeder.pm
index dbdcafb39494df4a0f2ae796faa57415b3c0d764..4285e7077549ce294e26b6c7b6d75babef7f9da3 100644 (file)
@@ -482,5 +482,25 @@ SQL
             undef $db;
         }
     }
+
+    method run_loop {
+        $self->connect_db;
+
+        for ( ;; ) {
+            $self->queue_songs( undef, sub { $self->run } );
+
+            $log->debug("Entering event loop. PID=$$");
+
+            my $result = $mpd->loop->run;
+            $log->trace( "Got loop result of " . ( $result // 'undef' ) );
+
+            if ( 'reload' eq $result ) {
+                $log->notice("disconnecting");
+                $self->stop;
+
+                exec( "$0", '--config', $self->cfg_file, '--skip-db-update' );
+            }
+        }
+    }
 }