ArrayFilterEvent::REVOKE_FOLLOW_CONTACT => 'revoke_follow',
ArrayFilterEvent::BLOCK_CONTACT => 'block',
ArrayFilterEvent::UNBLOCK_CONTACT => 'unblock',
+ ArrayFilterEvent::ADD_WORKER_TASK => 'proc_run',
HtmlFilterEvent::HEAD => 'head',
HtmlFilterEvent::FOOTER => 'footer',
HtmlFilterEvent::PAGE_HEADER => 'page_header',
ArrayFilterEvent::REVOKE_FOLLOW_CONTACT => 'onArrayFilterEvent',
ArrayFilterEvent::BLOCK_CONTACT => 'onArrayFilterEvent',
ArrayFilterEvent::UNBLOCK_CONTACT => 'onArrayFilterEvent',
+ ArrayFilterEvent::ADD_WORKER_TASK => 'onArrayFilterEvent',
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
use Friendica\Core\Worker\Entity\Process;
use Friendica\Database\DBA;
use Friendica\DI;
+use Friendica\Event\ArrayFilterEvent;
use Friendica\Util\DateTimeFormat;
/**
* @return int '0' if worker queue entry already existed or there had been an error, otherwise the ID of the worker task
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @note $cmd and string args are surrounded with ''
- *
- * @hooks 'proc_run'
- * array $arr
- *
*/
public static function add(...$args)
{
$arr = ['args' => $args, 'run_cmd' => true];
- Hook::callAll('proc_run', $arr);
+ $eventDispatcher = DI::eventDispatcher();
+
+ $arr = $eventDispatcher->dispatch(
+ new ArrayFilterEvent(ArrayFilterEvent::ADD_WORKER_TASK, $arr),
+ )->getArray();
+
if (!$arr['run_cmd'] || !count($args)) {
return 1;
}
public const UNBLOCK_CONTACT = 'friendica.data.unblock_contact';
+ public const ADD_WORKER_TASK = 'friendica.data.add_worker_task';
+
private array $array;
public function __construct(string $name, array $array)
ArrayFilterEvent::REVOKE_FOLLOW_CONTACT => 'onArrayFilterEvent',
ArrayFilterEvent::BLOCK_CONTACT => 'onArrayFilterEvent',
ArrayFilterEvent::UNBLOCK_CONTACT => 'onArrayFilterEvent',
+ ArrayFilterEvent::ADD_WORKER_TASK => 'onArrayFilterEvent',
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
[ArrayFilterEvent::REVOKE_FOLLOW_CONTACT, 'revoke_follow'],
[ArrayFilterEvent::BLOCK_CONTACT, 'block'],
[ArrayFilterEvent::UNBLOCK_CONTACT, 'unblock'],
+ [ArrayFilterEvent::ADD_WORKER_TASK, 'proc_run'],
];
}
[ArrayFilterEvent::REVOKE_FOLLOW_CONTACT, 'friendica.data.revoke_follow_contact'],
[ArrayFilterEvent::BLOCK_CONTACT, 'friendica.data.block_contact'],
[ArrayFilterEvent::UNBLOCK_CONTACT, 'friendica.data.unblock_contact'],
+ [ArrayFilterEvent::ADD_WORKER_TASK, 'friendica.data.add_worker_task'],
];
}