Maison > développement back-end > tutoriel php > IronMQ et Laravel: configuration

IronMQ et Laravel: configuration

Jennifer Aniston
Libérer: 2025-02-21 08:43:08
original
749 Les gens l'ont consulté

IronMQ and Laravel: Setup

Ce tutoriel en deux parties guide les débutants sur l'utilisation des files d'attente push avec Laravel pour les tâches d'arrière-plan, illustrées par un exemple de photo et un exemple de redimensionnement. Le redimensionnement des images prend du temps; Cette approche empêche les retards des utilisateurs en déchargeant la tâche. Nous tirons également parti de NGROK pour permettre les tests de file d'attente locaux.

Le code source complet est disponible sur GitHub. Alternativement, déployez sur un serveur en direct pour les tests.

Concepts clés

  • Ce tutoriel montre la configuration de IronMQ avec Laravel pour gérer les processus d'arrière-plan (comme le redimensionnement d'image) via des files d'attente push. L'application finale comprend un formulaire de téléchargement de photos et de redimensionnement simple.
  • La configuration consiste à installer Laravel, à ses dépendances, à créer un compte Iron.io et à utiliser Ngrok pour exposer votre environnement de développement local à Internet, permettant une interaction de file d'attente IronMQ lors des tests locaux.
  • IronMQ simplifie la gestion des files d'attente. La création d'une file d'attente push nécessite de spécifier une URL d'abonnée - une URL que IronMQ appellera lorsqu'un travail sera disponible.
  • Le didacticiel couvre la configuration IronMQ dans Laravel, y compris la création de files d'attente et d'abonnés, et l'installation des bibliothèques d'images IronMQ et d'intervention. La deuxième partie détaillera l'élaboration des applications et l'implémentation de la logique de l'emploi.

files d'attente et ironmq

Une file d'attente est un pipeline d'emplois. Les travaux sont traités séquentiellement dans l'ordre où ils sont ajoutés. Pousser les files d'attente, contrairement aux files d'attente de traction, aviser de manière proactive les abonnés lorsqu'un travail est prêt, éliminant le besoin d'un sondage constant. IronMQ est un service qui facilite ce système de file d'attente basé sur la poussée. Lors de la création d'une file d'attente push, vous définissez une URL d'abonnée; IronMQ envoie des données d'emploi à cette URL lorsqu'un travail devient disponible.

Pour une plongée plus profonde dans les files d'attente de travaux et les comparaisons de diverses solutions, reportez-vous à [cet article] (link_to_article_here - Remplacez par un lien réel si disponible).

Configuration et installation

Cette section détaille l'installation de Laravel, ses dépendances, la création d'un compte iron.io et la configuration de Ngrok.

laravel

  1. Installez le compositeur.

  2. Installez Laravel: composer create-project laravel/laravel --prefer-dist Accédez au répertoire laravel et exécutez php artisan serve. Accédez à votre installation de Laravel à http://localhost:8000.

  3. Configuration de la base de données: utilisez MySQL. Créez une base de données et mise à jour app/config/database.php avec vos informations d'identification de base de données. Exécuter php artisan migrate:install.

  4. Modifier app/views/welcome.blade.php (ou équivalent) pour afficher un message confirmant votre configuration.

  5. Installez les bibliothèques d'images IronMQ et d'intervention: ajoutez-les à votre fichier composer.json:

    "require": {
        "laravel/framework": "^9.0",  // or your Laravel version
        "iron-io/iron_mq": "^1.4",
        "intervention/image": "^2.7"
    },
    Copier après la connexion

    Run composer update. Ensuite, configurez le package d'image d'intervention dans config/app.php en ajoutant le fournisseur de services et alias comme documenté dans la documentation d'image d'intervention.

ngrok

Pour les tests locaux avec IronMQ, utilisez Ngrok pour exposer votre serveur local à Internet.

  1. Télécharger et installer ngrok.
  2. Exécuter ./ngrok 8000 (ou le port approprié si votre serveur Laravel en utilise un autre). Notez l'URL de transfert (par exemple, http://your-ngrok-url.ngrok.io). Cette URL agira comme votre URL abonnée.

ironmq

  1. Créez un compte et un projet Iron.io.

  2. Obtenez votre identifiant de projet et votre jeton à partir du tableau de bord iron.io.

  3. Configurez vos paramètres de file d'attente Laravel dans config/queue.php:

    'iron' => [
        'driver' => 'iron',
        'project' => env('IRON_PROJECT_ID'),
        'token' => env('IRON_TOKEN'),
        'queue' => 'laravel',
    ],
    Copier après la connexion

    Ajouter IRON_PROJECT_ID et IRON_TOKEN à votre fichier .env.

  4. Créez un abonné Push Fitre à l'aide de la commande Artisan:

    php artisan queue:subscribe laravel http://your-ngrok-url.ngrok.io/queue/receive
    Copier après la connexion

    Remplacer http://your-ngrok-url.ngrok.io par votre URL de transfert Ngrok.

  5. Ajoutez la route suivante à routes/web.php:

    Route::post('queue/receive', function () {
        return Queue::marshal();
    });
    Copier après la connexion

Conclusion (partie 1)

Cette pièce couvre la configuration et l'installation des composants nécessaires. La deuxième partie se concentrera sur la création de l'application et la mise en œuvre du travail de redimensionnement de l'image.

Questions fréquemment posées (FAQ) (Cette section reste largement inchangée, car les informations sont toujours pertinentes.)

(La section FAQ existante est bien écrite et précise; aucune modification n'est nécessaire.)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal