ウェブサイトの速度は、SEOとユーザーの満足度に大きな影響を与えます。 遅いページの読み込み時間は、多くの場合、リソースが多いコードブロックに由来します。 解決策?非クリティカルなタスクを延期して、全体的な速度を向上させます。 LaravelのキューAPIは、これを達成するための合理化された方法を提供します。
LaravelのキューAPIは、キューに追加されたジョブを管理します。 これらのキューは、特定のキュードライバーを利用する接続に関連付けられています。コンポーネントを分解しましょう:キュードライバー
データベース接続と同様に、キューAPIは、データベース、BeanStalkD、SQS、Redisなどのさまざまなドライバーをサポートしています。ドライバーは、キュー情報が保存される場所(データベースやRedisサーバーなど)を決定します。 2人の特別なドライバー、
null
接続null
ドライバー固有の構成設定
画像モデルの作成
最初に、アップロードされた画像を管理するために
モデルを作成します。モデルと移行ファイルが生成されます。 移行を変更する(
app/jobs/processimageThumbnails.php メソッドには、サムネイル生成ロジックが含まれています
簡単な画像アップロードフォームを作成しましょう。 コントローラーを作成( ビューを作成し(resources/views/upload_form.blade.php )、routes/web.php: メソッドは、ファイルのアップロード、データベースエントリ、 キューワーカー 結論
移行を実行します:Image
Laravelジョブを作成するphp artisan make:model Image --migration
Image
職人コマンドを使用してジョブを作成します:
<?php
// database/migrations/YYYY_MM_DD_HHMMSS_create_images_table.php
// ...
$table->string('org_path');
// ...
?>
php artisan migrate
php composer.phar require intervention/image
php artisan make:job ProcessImageThumbnails
php artisan make:model Image --migration
<?php
// database/migrations/YYYY_MM_DD_HHMMSS_create_images_table.php
// ...
$table->string('org_path');
// ...
?>
upload
ジョブをディスパッチします。
ProcessImageThumbnails
アップロード後、データベースクエリを使用してジョブの追加をjobs
このコマンドは、保留中のジョブを処理します。 出力には、ジョブ処理ステータスが表示されます。 継続的なバックグラウンド処理には、スーパーバイザー、サーカスなどのプロセスマネージャーを使用してください。
php artisan migrate
以上がキューを使用してLaravelのタスクを延期しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。