コード例 #1
0
ファイル: App.php プロジェクト: rmiddle/cerb4_plugins
 /**
  * @param Model_DevblocksEvent $event
  */
 function handleEvent(Model_DevblocksEvent $event)
 {
     switch ($event->id) {
         case 'cron.maint':
             $records_removed = 0;
             $logger = DevblocksPlatform::getConsoleLog();
             $logger->info("[Answernet.com Maint] Starting Purging Contact Addresses task");
             @set_time_limit(0);
             // Unlimited (if possible)
             @ini_set('memory_limit', '128M');
             $logger->info("[Answernet.com Maint] Overloaded memory_limit to: " . ini_get('memory_limit'));
             $logger->info("[Answernet.com Maint] Overloaded max_execution_time to: " . ini_get('max_execution_time'));
             $runtime = microtime(true);
             //Do something
             $db = DevblocksPlatform::getDatabaseService();
             $sql = "SELECT a.id ";
             $sql .= "FROM address a ";
             $sql .= "LEFT JOIN message m ON a.id = m.address_id ";
             $sql .= "LEFT JOIN requester r ON a.id = r.address_id ";
             $sql .= "LEFT JOIN ticket_comment tc ON a.id = tc.address_id ";
             $sql .= "WHERE a.contact_org_id = 0 ";
             $sql .= "AND m.address_id IS NULL ";
             $sql .= "AND r.address_id IS NULL ";
             $sql .= "AND tc.address_id IS NULL ";
             $sql .= "ORDER BY a.id ASC ";
             $rs = $db->Execute($sql);
             while (!$rs->EOF) {
                 // Loop though the records.
                 DAO_Address::delete($rs->fields['id']);
                 // Increament the records removed connecter
                 $records_removed++;
                 $rs->MoveNext();
             }
             $logger->info("[Answernet.com Maint] Total Records Removed: " . $records_removed);
             $logger->info("[Answernet.com Maint] Total Runtime: " . (microtime(true) - $runtime) * 1000 . " ms");
             break;
     }
 }