Merge pull request #3907 from annando/worker

For more worker have found a new place
This commit is contained in:
Hypolite Petovan 2017-11-15 16:27:49 -05:00 committed by GitHub
commit 8a0bec00c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 153 additions and 144 deletions

View file

@ -308,7 +308,7 @@ function get_contact_details_by_url($url, $uid = -1, $default = array()) {
if ((($profile["addr"] == "") || ($profile["name"] == "")) && ($profile["gid"] != 0) &&
in_array($profile["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) {
Worker::add(PRIORITY_LOW, "update_gcontact", $profile["gid"]);
Worker::add(PRIORITY_LOW, "UpdateGContact", $profile["gid"]);
}
// Show contact details of Diaspora contacts only if connected

View file

@ -1,46 +0,0 @@
<?php
/**
* @file include/checkversion.php
*
* @brief save Friendica upstream version to the DB
**/
use Friendica\Core\Config;
/**
* @brief check the git repository VERSION file and save the version to the DB
*
* Checking the upstream version is optional (opt-in) and can be done to either
* the master or the develop branch in the repository.
*/
function checkversion_run () {
global $a;
logger('checkversion: start');
$checkurl = Config::get('system', 'check_new_version_url', 'none');
switch ($checkurl) {
case 'master':
$checked_url = 'https://raw.githubusercontent.com/friendica/friendica/master/VERSION';
break;
case 'develop':
$checked_url = 'https://raw.githubusercontent.com/friendica/friendica/develop/VERSION';
break;
default:
// don't check
return;
}
logger("Checking VERSION from: ".$checked_url, LOGGER_DEBUG);
// fetch the VERSION file
$gitversion = dbesc(trim(fetch_url($checked_url)));
logger("Upstream VERSION is: ".$gitversion, LOGGER_DEBUG);
Config::set('system', 'git_friendica_version', $gitversion);
logger('checkversion: end');
return;
}

View file

@ -1,6 +0,0 @@
<?php
require_once("include/tags.php");
function tagupdate_run(&$argv, &$argc){
update_items();
}

View file

@ -1,7 +0,0 @@
<?php
require_once("include/threads.php");
function threadupdate_run(&$argv, &$argc){
update_threads();
update_threads_mention();
}

View file

@ -1,81 +0,0 @@
<?php
/**
* @file include/update_gcontact.php
*/
use Friendica\Core\Config;
use Friendica\Database\DBM;
use Friendica\Network\Probe;
use Friendica\Protocol\PortableContact;
function update_gcontact_run(&$argv, &$argc) {
global $a;
logger('update_gcontact: start');
if (($argc > 1) && (intval($argv[1]))) {
$contact_id = intval($argv[1]);
}
if (!$contact_id) {
logger('update_gcontact: no contact');
return;
}
$r = q("SELECT * FROM `gcontact` WHERE `id` = %d", intval($contact_id));
if (!DBM::is_result($r)) {
return;
}
if (!in_array($r[0]["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) {
return;
}
$data = Probe::uri($r[0]["url"]);
if (!in_array($data["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) {
if ($r[0]["server_url"] != "")
PortableContact::checkServer($r[0]["server_url"], $r[0]["network"]);
q("UPDATE `gcontact` SET `last_failure` = '%s' WHERE `id` = %d",
dbesc(datetime_convert()), intval($contact_id));
return;
}
if (($data["name"] == "") && ($r[0]['name'] != ""))
$data["name"] = $r[0]['name'];
if (($data["nick"] == "") && ($r[0]['nick'] != ""))
$data["nick"] = $r[0]['nick'];
if (($data["addr"] == "") && ($r[0]['addr'] != ""))
$data["addr"] = $r[0]['addr'];
if (($data["photo"] == "") && ($r[0]['photo'] != ""))
$data["photo"] = $r[0]['photo'];
q("UPDATE `gcontact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `photo` = '%s'
WHERE `id` = %d",
dbesc($data["name"]),
dbesc($data["nick"]),
dbesc($data["addr"]),
dbesc($data["photo"]),
intval($contact_id)
);
q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `photo` = '%s'
WHERE `uid` = 0 AND `addr` = '' AND `nurl` = '%s'",
dbesc($data["name"]),
dbesc($data["nick"]),
dbesc($data["addr"]),
dbesc($data["photo"]),
dbesc(normalise_link($data["url"]))
);
q("UPDATE `contact` SET `addr` = '%s'
WHERE `uid` != 0 AND `addr` = '' AND `nurl` = '%s'",
dbesc($data["addr"]),
dbesc(normalise_link($data["url"]))
);
}

View file

@ -0,0 +1,49 @@
<?php
/**
* @file src/Worker/CheckVersion.php
*
* @brief save Friendica upstream version to the DB
**/
namespace Friendica\Worker;
use Friendica\Core\Config;
/**
* @brief check the git repository VERSION file and save the version to the DB
*
* Checking the upstream version is optional (opt-in) and can be done to either
* the master or the develop branch in the repository.
*/
class CheckVersion {
public static function execute() {
global $a;
logger('checkversion: start');
$checkurl = Config::get('system', 'check_new_version_url', 'none');
switch ($checkurl) {
case 'master':
$checked_url = 'https://raw.githubusercontent.com/friendica/friendica/master/VERSION';
break;
case 'develop':
$checked_url = 'https://raw.githubusercontent.com/friendica/friendica/develop/VERSION';
break;
default:
// don't check
return;
}
logger("Checking VERSION from: ".$checked_url, LOGGER_DEBUG);
// fetch the VERSION file
$gitversion = dbesc(trim(fetch_url($checked_url)));
logger("Upstream VERSION is: ".$gitversion, LOGGER_DEBUG);
Config::set('system', 'git_friendica_version', $gitversion);
logger('checkversion: end');
return;
}
}

View file

@ -85,7 +85,7 @@ Class Cron {
dba::delete('workerqueue', array('`done` AND `executed` < UTC_TIMESTAMP() - INTERVAL 12 HOUR'));
// check upstream version?
Worker::add(PRIORITY_LOW, 'checkversion');
Worker::add(PRIORITY_LOW, 'CheckVersion');
}
// Poll contacts

10
src/Worker/TagUpdate.php Normal file
View file

@ -0,0 +1,10 @@
<?php
namespace Friendica\Worker;
require_once("include/tags.php");
class TagUpdate {
public static function execute() {
update_items();
}
}

View file

@ -0,0 +1,11 @@
<?php
namespace Friendica\Worker;
require_once("include/threads.php");
class ThreadUpdate {
public static function execute() {
update_threads();
update_threads_mention();
}
}

View file

@ -0,0 +1,79 @@
<?php
/**
* @file src/Worker/UpdateGcontact.php
*/
use Friendica\Core\Config;
use Friendica\Database\DBM;
use Friendica\Network\Probe;
use Friendica\Protocol\PortableContact;
class UpdateGContact {
public static function execute($contact_id) {
global $a;
logger('update_gcontact: start');
if (empty($contact_id)) {
logger('update_gcontact: no contact');
return;
}
$r = q("SELECT * FROM `gcontact` WHERE `id` = %d", intval($contact_id));
if (!DBM::is_result($r)) {
return;
}
if (!in_array($r[0]["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) {
return;
}
$data = Probe::uri($r[0]["url"]);
if (!in_array($data["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) {
if ($r[0]["server_url"] != "")
PortableContact::checkServer($r[0]["server_url"], $r[0]["network"]);
q("UPDATE `gcontact` SET `last_failure` = '%s' WHERE `id` = %d",
dbesc(datetime_convert()), intval($contact_id));
return;
}
if (($data["name"] == "") && ($r[0]['name'] != ""))
$data["name"] = $r[0]['name'];
if (($data["nick"] == "") && ($r[0]['nick'] != ""))
$data["nick"] = $r[0]['nick'];
if (($data["addr"] == "") && ($r[0]['addr'] != ""))
$data["addr"] = $r[0]['addr'];
if (($data["photo"] == "") && ($r[0]['photo'] != ""))
$data["photo"] = $r[0]['photo'];
q("UPDATE `gcontact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `photo` = '%s'
WHERE `id` = %d",
dbesc($data["name"]),
dbesc($data["nick"]),
dbesc($data["addr"]),
dbesc($data["photo"]),
intval($contact_id)
);
q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `photo` = '%s'
WHERE `uid` = 0 AND `addr` = '' AND `nurl` = '%s'",
dbesc($data["name"]),
dbesc($data["nick"]),
dbesc($data["addr"]),
dbesc($data["photo"]),
dbesc(normalise_link($data["url"]))
);
q("UPDATE `contact` SET `addr` = '%s'
WHERE `uid` != 0 AND `addr` = '' AND `nurl` = '%s'",
dbesc($data["addr"]),
dbesc(normalise_link($data["url"]))
);
}
}

View file

@ -1601,7 +1601,7 @@ function update_1169() {
if (!$r)
return UPDATE_FAILED;
Worker::add(PRIORITY_LOW, "threadupdate");
Worker::add(PRIORITY_LOW, "ThreadUpdate");
return UPDATE_SUCCESS;
}
@ -1650,7 +1650,7 @@ function update_1178() {
function update_1180() {
// Fill the new fields in the term table.
Worker::add(PRIORITY_LOW, "tagupdate");
Worker::add(PRIORITY_LOW, "TagUpdate");
return UPDATE_SUCCESS;
}