Skip to content

Filas (Tasks Queues)

Gabriel Mourão edited this page May 27, 2019 · 3 revisions

O Swoole prove um recurso de tasks nativo, é o FastWork estabelece uma maneira de operar com o recursos de filas.

Assim como pra utilizar o modulo de GraphQL, o FastWork também ja faz toda a pré configuração necessário para se operar em filas, ficando apenas necessário informar as configuração base no arquivo:

config/server.yaml

Com o arquivo configurado, o FastSwoole ja irá acionar automaticamente a iniciação do serviço.

Para declarar uma 'tarefa', basta declarar uma classe na pasta application/tasks, herdada de AnthraxisBR\SwooleFW\tasks\TaskReceiver.

As função dessa classe serão chave da assinatura da tarefa.

Se a classe for válida, automaticamente o FastSwoole irágerar uma assinatura:

Classe@funcao

Essa assinatura é usada pelo TaskManager para iniciar a tarefa.

Para conseguir o serviço TaskManager, é necessário criar um rota, e usa-lo como serviço do provider.

Para fazer isso, apenas crie um rota, ou use uma ja existente, e adicione 'TaskManager' aos parametros da função que irão precisar iniciar um task.

class Tasks extends Actions
{
    public function create(TasksManager $TasksManager, Request $request)
    {
        $TasksManager->signature('Users@insertUser');
        return $TasksManager->startTask($request->getData(),$request->getHeaders(),$request->getServerJson());
    }
}

Clone this wiki locally