>这两个由laravel的推送队列用于背景任务的两部分教程指南初学者,由照片上传和调整示例说明。 调整图像大小是耗时的;这种方法通过卸载任务可以防止用户延迟。我们还将利用Ngrok启用本地队列测试。
>完整的源代码可在GitHub上找到。 或者,部署到实时服务器进行测试。
键概念
>排队和Ironmq
>队列是工作管道。作业按添加的顺序进行顺序处理。 与拉动队列不同的是,推送队列在准备好时会主动通知订户,从而消除了不断进行轮询的需求。 IronMQ是一项促进此基于推动的排队系统的服务。创建推动队列时,您可以定义订户URL; IronMQ当作业可用时将作业数据发送到此URL。>
>更深入地研究各种解决方案的工作队列和比较,请参阅[本文](link_to_to_article_here-替换为实际链接,如果可用)。 >设置和安装本节详细详细介绍了安装Laravel,其依赖项,创建Iron.io帐户和配置Ngrok。
laravel
>安装作曲家。
安装Laravel:
。 访问您的Laravel安装,以composer create-project laravel/laravel --prefer-dist
>。laravel
>
php artisan serve
http://localhost:8000
app/config/database.php
php artisan migrate:install
app/views/welcome.blade.php
<code class="language-json">"require": { "laravel/framework": "^9.0", // or your Laravel version "iron-io/iron_mq": "^1.4", "intervention/image": "^2.7" },</code>
>运行composer update
。 然后,通过在“干预图像文档中记录”中添加服务提供商和别名来配置干预映像包。config/app.php
ngrok
>用于使用IronMQ进行本地测试,请使用NGrok将您的本地服务器展示到Internet。>下载并安装ngrok。
./ngrok 8000
http://your-ngrok-url.ngrok.io
创建一个Iron.io帐户和项目。
从Iron.io仪表板获取您的项目ID和令牌。
中配置您的laravel队列设置:
>和config/queue.php
到您的
<code class="language-php">'iron' => [ 'driver' => 'iron', 'project' => env('IRON_PROJECT_ID'), 'token' => env('IRON_TOKEN'), 'queue' => 'laravel', ],</code>
IRON_PROJECT_ID
>使用工匠命令创建推动队列订户:IRON_TOKEN
.env
>用ngrok转发URL替换
>将以下路线添加到
<code class="language-bash">php artisan queue:subscribe laravel http://your-ngrok-url.ngrok.io/queue/receive</code>:
http://your-ngrok-url.ngrok.io
结论(第1部分)routes/web.php
<code class="language-php">Route::post('queue/receive', function () { return Queue::marshal(); });</code>>该部分涵盖了必要组件的设置和安装。第二部分将着重于构建应用程序并实施图像调整大小的作业。
>常见问题(FAQS)>(此部分在很大程度上保持不变,因为信息仍然相关。)
(现有的FAQ部分编写良好且准确;不需要更改。
以上是Ironmq和Laravel:设置的详细内容。更多信息请关注PHP中文网其他相关文章!