如何在laravel中异步执行事件

Maz*_*kah 3 php asynchronous laravel

请问我还是laravel的新手,我曾经多次使用laravel中的事件,但我很好奇,想知道是否可以异步执行laravel中的事件.例如在下面的代码中:

    <?php

    namespace mazee\Http\Controllers;

   class maincontroller extends Controller
   {
    public  function index(){
       Event::fire(new newaccountcreated($user)) ;
      //do something

    }
Run Code Online (Sandbox Code Playgroud)

事件被触发后,"newaccountcreated"事件的事件监听器中的代码块是否可能异步执行?

Fil*_*ski 7

是的当然这是可能的.你应该阅读有关Laravel Queues的信息.每个驱动程序(仅限同步驱动程序)都是异步的.最容易配置的是database驱动程序,但您也可以尝试使用RabbitMQ服务器,这里是Laravel捆绑包.

您还可以添加到EventListener:newaccountcreatedtrait Illuminate\Queue\InteractsWithQueue(您可以在此处阅读),这将帮助您将其与Laravel Queue连接.