php – 在Laravel 5中设置队列
发布时间:2020-12-14 19:48:32 所属栏目:大数据 来源:网络整理
导读:我试图在返回HTTP响应后运行代码.我知道Laravel 5支持 queues,但我仍然觉得它们令人困惑.我试图在用户注册后运行代码,需要用户的密码和用户名. This answer看起来很有趣,但不能直接适用于Laravel. 如何在队列中创建作业? 如何将数据传递给新作业? 我知道这
我试图在返回HTTP响应后运行代码.我知道Laravel 5支持
queues,但我仍然觉得它们令人困惑.我试图在用户注册后运行代码,需要用户的密码和用户名.
This answer看起来很有趣,但不能直接适用于Laravel.
>如何在队列中创建作业? 我知道这听起来很懒,但我真的不懂文档.
作为第一步,设置队列需要选择您将使用的驱动程序.因为它是最快的运行,我将解释如何开始使用数据库驱动程序,因为它不需要在服务器上安装任何其他服务(例如
beanstalkd 的情况).以下是如何设置此设置:
1.在.env文件中设置QUEUE_DRIVER: QUEUE_DRIVER=database 2.运行此命令以生成jobs表的迁移文件,该文件将用于存储作业信息: php artisan queue:table 3.现在运行迁移以创建表: php artisan migrate 创建了一个作业表,用于在作业被推入队列时存储数据. 您可以将命令和clojures推送到队列中.为简洁起见,我将展示如何将闭包推送到队列的示例: $username = Request::input('username'); $password = Request::input('password'); // Do your registration stuff // Push a job onto the queue Queue::push(function($job) use ($username,$password) { // Do the stuff you need here with $username and $password // Delete the job from the queue $job->delete(); }); 完成此工作的最后一步是运行队列侦听器.除非队列侦听器正在运行,否则不会自动处理作业.所以运行这个命令: php artisan queue:listen 您可以采取进一步的步骤,例如设置Supervisor以监视并重新启动队列侦听器,如果它崩溃,但这应该足以让您开始. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |