Repository navigation
Filas (Tasks Queues)
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());
}
}