public function enqueue()
{
$db = \Scalr::getDb();
$queue = new ArrayObject([]);
if (!\Scalr::config('scalr.dns.global.enabled')) {
return $queue;
}
$this->getLogger()->info("Fetching records to process...");
$rs = $db->Execute("\n SELECT z.id\n FROM dns_zones z\n JOIN clients c ON c.id = z.client_id\n WHERE z.status NOT IN (?, ?) OR (z.isonnsserver = '1' AND z.status = ?)\n ORDER BY c.`priority` DESC\n LIMIT 100\n ", [DNS_ZONE_STATUS::ACTIVE, DNS_ZONE_STATUS::INACTIVE, DNS_ZONE_STATUS::INACTIVE]);
while ($rec = $rs->FetchRow()) {
$obj = new stdClass();
$obj->id = $rec['id'];
$queue->append($obj);
}
if ($cnt = count($queue)) {
$this->getLogger()->info("%d record%s %s been found.", $cnt, $cnt == 1 ? '' : 's', $cnt == 1 ? 'has' : 'have');
} else {
$this->getLogger()->info("Could not find any record.");
}
return $queue;
}