Without only the worker queue we don't need the deliverq anymore.
This commit is contained in:
parent
0d32f0be46
commit
4812f4c0f9
14
database.sql
14
database.sql
|
@ -1,5 +1,5 @@
|
|||
-- ------------------------------------------
|
||||
-- Friendica 3.5.1-rc (Asparagus)
|
||||
-- Friendica 3.5.2-dev (Asparagus)
|
||||
-- DB_UPDATE_VERSION 1215
|
||||
-- ------------------------------------------
|
||||
|
||||
|
@ -204,18 +204,6 @@ CREATE TABLE IF NOT EXISTS `conv` (
|
|||
INDEX `uid` (`uid`)
|
||||
) DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
--
|
||||
-- TABLE deliverq
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `deliverq` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`cmd` varbinary(32) NOT NULL DEFAULT '',
|
||||
`item` int(11) NOT NULL DEFAULT 0,
|
||||
`contact` int(11) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `cmd_item_contact` (`cmd`,`item`,`contact`)
|
||||
) DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
--
|
||||
-- TABLE event
|
||||
--
|
||||
|
|
|
@ -712,18 +712,6 @@ function db_definition($charset) {
|
|||
"uid" => array("uid"),
|
||||
)
|
||||
);
|
||||
$database["deliverq"] = array(
|
||||
"fields" => array(
|
||||
"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
||||
"cmd" => array("type" => "varbinary(32)", "not null" => "1", "default" => ""),
|
||||
"item" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
|
||||
"contact" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
|
||||
),
|
||||
"indexes" => array(
|
||||
"PRIMARY" => array("id"),
|
||||
"cmd_item_contact" => array("UNIQUE", "cmd", "item", "contact"),
|
||||
)
|
||||
);
|
||||
$database["event"] = array(
|
||||
"fields" => array(
|
||||
"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
||||
|
|
|
@ -30,30 +30,6 @@ function delivery_run(&$argv, &$argc){
|
|||
|
||||
$contact_id = intval($argv[$x]);
|
||||
|
||||
/// @todo When switching completely to the worker we won't need this anymore
|
||||
// Some other process may have delivered this item already.
|
||||
|
||||
$r = q("SELECT * FROM `deliverq` WHERE `cmd` = '%s' AND `item` = %d AND `contact` = %d LIMIT 1",
|
||||
dbesc($cmd),
|
||||
dbesc($item_id),
|
||||
dbesc($contact_id)
|
||||
);
|
||||
if (!dbm::is_result($r)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($a->maxload_reached()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// It's ours to deliver. Remove it from the queue.
|
||||
|
||||
q("DELETE FROM `deliverq` WHERE `cmd` = '%s' AND `item` = %d AND `contact` = %d",
|
||||
dbesc($cmd),
|
||||
dbesc($item_id),
|
||||
dbesc($contact_id)
|
||||
);
|
||||
|
||||
if (!$item_id || !$contact_id) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -471,7 +471,8 @@ function notifier_run(&$argv, &$argc){
|
|||
if ($relocate) {
|
||||
$r = $recipients_relocate;
|
||||
} else {
|
||||
$r = q("SELECT * FROM `contact` WHERE `id` IN (%s) AND NOT `blocked` AND NOT `pending` AND NOT `archive`".$sql_extra,
|
||||
$r = q("SELECT `id`, `url`, `network`, `self` FROM `contact`
|
||||
WHERE `id` IN (%s) AND NOT `blocked` AND NOT `pending` AND NOT `archive`".$sql_extra,
|
||||
dbesc($recip_str)
|
||||
);
|
||||
}
|
||||
|
@ -480,28 +481,12 @@ function notifier_run(&$argv, &$argc){
|
|||
|
||||
if (dbm::is_result($r)) {
|
||||
foreach ($r as $contact) {
|
||||
if (!$contact['self']) {
|
||||
if (($contact['network'] === NETWORK_DIASPORA) && ($public_message)) {
|
||||
continue;
|
||||
}
|
||||
q("INSERT INTO `deliverq` (`cmd`,`item`,`contact`) VALUES ('%s', %d, %d)",
|
||||
dbesc($cmd),
|
||||
intval($item_id),
|
||||
intval($contact['id'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
for ($x = 0; $x < count($r); $x ++) {
|
||||
$contact = $r[$x];
|
||||
|
||||
if ($contact['self']) {
|
||||
continue;
|
||||
}
|
||||
logger("Deliver ".$target_item["guid"]." to ".$contact['url']." via network ".$contact['network'], LOGGER_DEBUG);
|
||||
|
||||
proc_run(PRIORITY_HIGH,'include/delivery.php', $cmd, $item_id, $contact['id']);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -553,18 +538,6 @@ function notifier_run(&$argv, &$argc){
|
|||
if (dbm::is_result($r)) {
|
||||
logger('pubdeliver '.$target_item["guid"].': '.print_r($r,true), LOGGER_DEBUG);
|
||||
|
||||
// throw everything into the queue in case we get killed
|
||||
|
||||
foreach ($r as $rr) {
|
||||
if ((! $mail) && (! $fsuggest) && (! $followup)) {
|
||||
q("INSERT INTO `deliverq` (`cmd`,`item`,`contact`) VALUES ('%s', %d, %d)
|
||||
ON DUPLICATE KEY UPDATE `cmd` = '%s', `item` = %d, `contact` = %d",
|
||||
dbesc($cmd), intval($item_id), intval($rr['id']),
|
||||
dbesc($cmd), intval($item_id), intval($rr['id'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($r as $rr) {
|
||||
|
||||
// except for Diaspora batch jobs
|
||||
|
|
|
@ -29,14 +29,6 @@ function queue_run(&$argv, &$argc){
|
|||
// Handling the pubsubhubbub requests
|
||||
proc_run(PRIORITY_HIGH,'include/pubsubpublish.php');
|
||||
|
||||
$r = q("select * from deliverq where 1");
|
||||
if ($r) {
|
||||
foreach ($r as $rr) {
|
||||
logger('queue: deliverq');
|
||||
proc_run(PRIORITY_HIGH,'include/delivery.php', $rr['cmd'], $rr['item'], $rr['contact']);
|
||||
}
|
||||
}
|
||||
|
||||
$r = q("SELECT `queue`.*, `contact`.`name`, `contact`.`uid` FROM `queue`
|
||||
INNER JOIN `contact` ON `queue`.`cid` = `contact`.`id`
|
||||
WHERE `queue`.`created` < UTC_TIMESTAMP() - INTERVAL 3 DAY");
|
||||
|
|
Loading…
Reference in New Issue
Block a user