+ print 'Time: ' . time() . ' Lag: ' . $heap->{connector}->lag() . "\n";
+
+ my $dbh = DB();
+ my $scans = $dbh->prepare(q{SELECT s.scan_id
+ ,array_agg(sr.nick) AS nick
+ ,array_agg(sr.id) AS id
+ FROM scan_requests sr
+ JOIN scans s USING (pid,type)
+ WHERE sr.time > NOW() - '30 min'::INTERVAL
+ AND s.tick >= sr.tick AND NOT sr.sent
+ GROUP BY scan_id
+ });
+ my $sentscan = $dbh->prepare(q{UPDATE scan_requests
+ SET sent = TRUE WHERE id = ANY($1)
+ });
+ $scans->execute;
+ while (my $scan = $scans->fetchrow_hashref){
+ $heap->{irc}->yield(notice => $scan->{nick}, "http://game.planetarion.com/showscan.pl?scan_id=$scan->{scan_id}");
+ $sentscan->execute($scan->{id});
+ }