CasperSecurity

Current Path : /var/www/orientalss.com/vendor/meilisearch/meilisearch-php/src/Endpoints/
Upload File :
Current File : /var/www/orientalss.com/vendor/meilisearch/meilisearch-php/src/Endpoints/Tasks.php

<?php

declare(strict_types=1);

namespace Meilisearch\Endpoints;

use Meilisearch\Contracts\CancelTasksQuery;
use Meilisearch\Contracts\DeleteTasksQuery;
use Meilisearch\Contracts\Endpoint;
use Meilisearch\Exceptions\TimeOutException;

class Tasks extends Endpoint
{
    protected const PATH = '/tasks';

    public function get($taskUid): array
    {
        return $this->http->get(self::PATH.'/'.$taskUid);
    }

    public function all(array $query = []): array
    {
        return $this->http->get(self::PATH.'/', $query);
    }

    public function cancelTasks(?CancelTasksQuery $options): array
    {
        $options = $options ?? new CancelTasksQuery();

        return $this->http->post('/tasks/cancel', null, $options->toArray());
    }

    public function deleteTasks(?DeleteTasksQuery $options): array
    {
        $options = $options ?? new DeleteTasksQuery();

        return $this->http->delete(self::PATH, $options->toArray());
    }

    /**
     * @throws TimeOutException
     */
    public function waitTask($taskUid, int $timeoutInMs, int $intervalInMs): array
    {
        $timeoutTemp = 0;

        while ($timeoutInMs > $timeoutTemp) {
            $res = $this->get($taskUid);

            if ('enqueued' !== $res['status'] && 'processing' !== $res['status']) {
                return $res;
            }

            $timeoutTemp += $intervalInMs;
            usleep(1000 * $intervalInMs);
        }

        throw new TimeOutException();
    }

    /**
     * @throws TimeOutException
     */
    public function waitTasks(array $taskUids, int $timeoutInMs, int $intervalInMs): array
    {
        $tasks = [];

        foreach ($taskUids as $taskUid) {
            $tasks[] = $this->waitTask($taskUid, $timeoutInMs, $intervalInMs);
        }

        return $tasks;
    }
}
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY