'verb', 'object-type', 'object', 'target', 'contact-id'];
$item = dba::selectFirst('item', $fields, ['id' => $item_id]);
if (!DBM::is_result($item)) {
+ logger('Item with ID ' . $item_id . " hadn't been found.", LOGGER_DEBUG);
return false;
}
if ($item['deleted']) {
+ logger('Item with ID ' . $item_id . ' is already deleted.', LOGGER_DEBUG);
return false;
}
$parent = ['origin' => false];
}
- logger('delete item: ' . $item['id'], LOGGER_DEBUG);
-
// clean up categories and tags so they don't end up as orphans
$matches = false;
Worker::add(['priority' => $priority, 'dont_fork' => true], "Notifier", "drop", intval($item['id']));
}
+ logger('Item with ID ' . $item_id . " had been deleted.", LOGGER_DEBUG);
+
return true;
}
$d1 = Config::get('system', 'last_expire_day');
$d2 = intval(DateTimeFormat::utcNow('d'));
+ // Daily cron calls
if ($d2 != intval($d1)) {
Worker::add(PRIORITY_LOW, "CronJobs", "update_contact_birthdays");
Worker::add(PRIORITY_LOW, "CronJobs", "update_photo_albums");
- // Delete all done workerqueue entries
- dba::delete('workerqueue', ['`done` AND `executed` < UTC_TIMESTAMP() - INTERVAL 12 HOUR']);
-
// check upstream version?
Worker::add(PRIORITY_LOW, 'CheckVersion');
}
+ // Hourly cron calls
+ if (Config::get('system', 'last_cron_hourly', 0) + 3600 < time()) {
+
+ // Delete all done workerqueue entries
+ dba::delete('workerqueue', ['`done` AND `executed` < UTC_TIMESTAMP() - INTERVAL 1 HOUR']);
+
+ // Optimizing this table only last seconds
+ dba::e("OPTIMIZE TABLE `workerqueue`");
+
+ Config::set('system', 'last_cron_hourly', time());
+ }
+
// Poll contacts
self::pollContacts($parameter, $generation);