Without only the worker queue we don't need the deliverq anymore.
This commit is contained in:
		
					parent
					
						
							
								0d32f0be46
							
						
					
				
			
			
				commit
				
					
						4812f4c0f9
					
				
			
		
					 5 changed files with 3 additions and 86 deletions
				
			
		
							
								
								
									
										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…
	
	Add table
		Add a link
		
	
		Reference in a new issue