Drop UpdateContact worker task if contact is blocked
# Conflicts: # src/Worker/UpdateContact.php
This commit is contained in:
parent
ee8e70e20e
commit
0ad246f910
|
@ -23,6 +23,7 @@ namespace Friendica\Worker;
|
||||||
|
|
||||||
use Friendica\Core\Logger;
|
use Friendica\Core\Logger;
|
||||||
use Friendica\Model\Contact;
|
use Friendica\Model\Contact;
|
||||||
|
use Friendica\Network\HTTPException\InternalServerErrorException;
|
||||||
|
|
||||||
class UpdateContact
|
class UpdateContact
|
||||||
{
|
{
|
||||||
|
@ -34,8 +35,33 @@ class UpdateContact
|
||||||
*/
|
*/
|
||||||
public static function execute(int $contact_id)
|
public static function execute(int $contact_id)
|
||||||
{
|
{
|
||||||
|
// Silently dropping the task if the contact is blocked
|
||||||
|
if (Contact::isBlocked($contact_id)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$success = Contact::updateFromProbe($contact_id);
|
$success = Contact::updateFromProbe($contact_id);
|
||||||
|
|
||||||
Logger::info('Updated from probe', ['id' => $contact_id, 'success' => $success]);
|
Logger::info('Updated from probe', ['id' => $contact_id, 'success' => $success]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param array|int $run_parameters Priority constant or array of options described in Worker::add
|
||||||
|
* @param int $contact_id
|
||||||
|
* @return int
|
||||||
|
* @throws InternalServerErrorException
|
||||||
|
*/
|
||||||
|
public static function add($run_parameters, int $contact_id): int
|
||||||
|
{
|
||||||
|
if (!$contact_id) {
|
||||||
|
throw new \InvalidArgumentException('Invalid value provided for contact_id');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dropping the task if the contact is blocked
|
||||||
|
if (Contact::isBlocked($contact_id)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Worker::add($run_parameters, 'UpdateContact', $contact_id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue