]> git.donarmstrong.com Git - infobot.git/commitdiff
periodically check to delete deleted factoids
authordms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Fri, 22 Sep 2000 10:50:25 +0000 (10:50 +0000)
committerdms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Fri, 22 Sep 2000 10:50:25 +0000 (10:50 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@123 c11ca15a-4712-0410-83d8-924469b57eb5

src/IRC/Schedulers.pl

index e8b54bf0cecacfb00b81688da7ee1ff7cee59248..778200bf3f79d460a87c0c1c1718d754923f9c15 100644 (file)
@@ -31,6 +31,7 @@ sub setupSchedulers {
     &freshmeatCycle(1) if (&IsParam("freshmeat") and &IsParam("freshmeatAnnounce"));
     &kernelCycle(1)    if (&IsParam("kernel") and &IsParam("kernelAnnounce"));
     &wingateWriteFile(1) if (&IsParam("wingate"));
+    &factoidCheck(1)   if (&IsParam("factoidDeleteDelay"));
 }
 
 sub ScheduleThis {
@@ -598,4 +599,26 @@ sub wingateWriteFile {
     &ScheduleThis(60, "wingateWriteFile") if (@_);
 }
 
+sub factoidCheck {
+    my @list = &searchTable("factoids", "factoid_key", "factoid_key", " #DEL#");
+    my $stale = $param{'factoidDeleteDelay'}*60*60*24;
+
+    foreach (@list) {
+       my $age = &getFactInfo($_, "modified_time");    
+       next unless (time() - $age > $stale);
+
+       my $fix = $_;
+       $fix =~ s/ #DEL#$//g;
+       &VERB("safedel: Removing $fix for good.",2);
+       &delFactoid($_);
+    }
+
+    &ScheduleThis(1440, "factoidCheck") if (@_);
+}
+
+sub schedulerSTUB {
+
+    &ScheduleThis(TIME_IN_MINUTES, "FUNCTION") if (@_);
+}
+
 1;