Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 延迟laravel推送通知5秒_Php_Laravel 5.2 - Fatal编程技术网

Php 延迟laravel推送通知5秒

Php 延迟laravel推送通知5秒,php,laravel-5.2,Php,Laravel 5.2,我正在使用“Davidenun/laravel推送通知”:“dev-laravel5”发送推送通知。我想要的是在命中后延迟发送通知,但不想停止进程。你知道我该怎么做吗?这可能吗 以下是发送推送通知的代码: $pushNotification = PushNotification::app('appNameAndroid')->to($token); $pushNotification->adapter->setAdapterParameters(['sslv

我正在使用“Davidenun/laravel推送通知”:“dev-laravel5”发送推送通知。我想要的是在命中后延迟发送通知,但不想停止进程。你知道我该怎么做吗?这可能吗

以下是发送推送通知的代码:

     $pushNotification = PushNotification::app('appNameAndroid')->to($token);
     $pushNotification->adapter->setAdapterParameters(['sslverifypeer' => false]);
     $pushNotification->send($message);
提前谢谢。

我找到了方法。 以下是步骤

  • 运行以下命令

    php artisan队列:表
    php artisan迁移

  • 换环境

    队列驱动程序=数据库

  • 创造一份工作

    php artisan make:作业JobName

  • //在作业文件中

  • 我在作业文件中提到了2个受保护的变量

    $message,$deviceToken

  • 在_构造中,我为上述变量赋值

    公共函数构造($deviceToken,$message)

  • 内处理法

    $pushNotification=pushNotification::app('appNameAndroid')->to($this->deviceToken); $pushNotification->adapter->setAdapterParameters(['sslverifypeer'=>false]); $pushNotification->send($this->message)

  • //在我的控制器中

    $job = (new JobName($deviceToken, $message))->delay(10);
    
    $this->dispatch($job);
    

    除非图书馆本身提供了这样做的方法,否则我恐怕你会陷入困境。当然,您可以做一些过于复杂的事情,比如在将来创建一个有X秒数的队列,但老实说,这似乎太过分了。实际上,我收回这句话,队列可能正是您要找的。@Andrew我将尝试使用队列。谢谢你的建议。@Andrew你有什么例子可以这样做吗?
    $job = (new JobName($deviceToken, $message))->delay(10);
    
    $this->dispatch($job);