Maison cadre php PensezPHP Comment utiliser ThinkPHP6 pour le traitement des files d'attente de courrier ?

Comment utiliser ThinkPHP6 pour le traitement des files d'attente de courrier ?

Jun 12, 2023 pm 01:11 PM
thinkphp 邮件 队列

Avec l'augmentation des applications Web, la demande d'envoi d'e-mails augmente également. Dans certains cas, vous devez envoyer des messages par lots ou les envoyer dans une file d'attente pour traitement afin d'améliorer les performances. ThinkPHP 6 fournit des fonctions pratiques d'envoi d'e-mails et de traitement de file d'attente. Cet article explique comment utiliser ThinkPHP 6 pour le traitement de la file d'attente d'e-mails.

1. Installez et configurez le service de file d'attente

1. Installez Redis

Redis est un serveur de stockage de structure de données en mémoire open source utilisé comme base de données, cache et courtier de messages. Étant donné que les données de la file d'attente doivent être conservées, elles doivent être enregistrées via Redis. Pour installer Redis, vous pouvez vous référer à la documentation officielle et à d'autres tutoriels en ligne.

2. Configurez la connexion à la file d'attente

Configurez la connexion à la file d'attente dans le fichier de configuration ThinkPHP config/queue.php L'exemple est le suivant :

return [
    // 默认驱动
    'default' => env('queue.driver', 'redis'),

    // 队列连接参数
    'connections' => [
        'sync' => [
            'driver' => 'sync',
        ],
        'redis' => [
            'driver' => 'redis',
            'connection' => 'default',
            'queue' => env('queue.redis.queue', 'default'),
            'retry_after' => 90,
            'block_for' => null,
        ],
    ],

    // 监听的任务类命名空间
    'queue_class' => [
        // 'AppJobs'
    ],
];
Copier après la connexion

Parmi eux, le pilote de file d'attente par défaut est configuré comme redis. Les paramètres pertinents du pilote Redis sont configurés dans les connexions, notamment le nom de la connexion, le pilote de connexion, le nom de la file d'attente de connexion, etc. queue_class est utilisé pour surveiller l'espace de noms de la classe qui effectue des tâches.

3. Démarrez l'écouteur de file d'attente

Démarrez l'écouteur de file d'attente dans la ligne de commande et vous pourrez supprimer et exécuter les tâches de la file d'attente une par une. Un exemple est le suivant :

php think queue:listen
Copier après la connexion

2. Utilisez la file d'attente pour envoyer des e-mails

1. Créez une tâche d'envoi d'e-mails

Créez une classe de tâches d'envoi d'e-mails dans le répertoire app/job et écrivez la logique appropriée. Par exemple, la classe de tâches SnedMailJob pour l'envoi d'e-mails :

<?php
namespace appjob;

use appcommonMail;
use thinkqueueJob;

class SendMailJob
{
    /**
     * Send the email message.
     *
     * @param  Job  $job
     * @param  array  $data email message data
     */
    public function fire(Job $job, $data)
    {
        try {
            // 发送邮件
            Mail::send($data['to'], $data['subject'], $data['content']);

            // 执行任务成功,删除任务
            $job->delete();
        } catch (Exception $e) {
            // 执行任务失败,重新放入任务队列中
            // 系统会自动新建一个可重试任务并放入队列,该任务结束后重新尝试执行当前任务
            $job->release(); // 或者 $job->failed();
        }
    }
}
Copier après la connexion

2. Ajoutez la tâche à la file d'attente

Là où vous devez envoyer l'e-mail, ajoutez la tâche à la file d'attente via le code suivant :

use thinkacadeQueue;

// 添加一条SendMailJob任务到队列中
Queue::push(new SendMailJob($to, $subject, $content));
Copier après la connexion

Parmi eux, $ to, $subject, $content sont les destinataires, l'objet et le contenu de l'e-mail.

3. L'écouteur de file d'attente exécute la tâche

Après avoir démarré l'écouteur de file d'attente, la tâche sera automatiquement retirée de la file d'attente et exécutée. Après une exécution réussie, la tâche sera automatiquement supprimée de la file d'attente. Après l'échec de l'exécution, l'écouteur de file d'attente repoussera la tâche dans la file d'attente jusqu'à ce que la tâche soit exécutée avec succès ou que le nombre maximum de tentatives soit atteint (configurable dans le fichier .env).

3. Conclusion

Cet article présente la méthode d'utilisation de ThinkPHP6 pour le traitement de la file d'attente de courrier, y compris l'installation et la configuration du service de file d'attente, la création de tâches d'envoi de courrier, l'ajout de tâches à la file d'attente et les tâches d'exécution de l'écouteur de file d'attente. En utilisant les files d'attente de messagerie, vous pouvez séparer les tâches de messagerie de votre application, améliorant ainsi les performances et la fiabilité.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

E-mails Outlook perdus du panneau de configuration dans Windows 11 E-mails Outlook perdus du panneau de configuration dans Windows 11 Feb 29, 2024 pm 03:16 PM

L'icône de messagerie Outlook est-elle absente du panneau de configuration de Windows 11 ? Cette situation inattendue a semé la confusion et l'inquiétude chez certaines personnes qui comptent sur OutlookMail pour leurs besoins de communication. Pourquoi mes e-mails Outlook n'apparaissent-ils pas dans le Panneau de configuration ? Il peut y avoir plusieurs raisons possibles pour lesquelles il n'y a pas d'icônes de messagerie Outlook dans le Panneau de configuration : Outlook n'est pas installé correctement. L'installation des applications Office à partir du Microsoft Store n'ajoute pas l'applet Mail au Panneau de configuration. L'emplacement du fichier mlcfg32.cpl dans le Panneau de configuration est manquant. Le chemin d'accès au fichier mlcfg32.cpl dans le registre est incorrect. Le système d'exploitation n'est actuellement pas configuré pour exécuter cette application

Le publipostage Word imprime une page blanche Le publipostage Word imprime une page blanche Feb 19, 2024 pm 04:51 PM

Si vous constatez que des pages vierges apparaissent lors de l'impression d'un document de publipostage à l'aide de Word, cet article vous aidera. Le publipostage est une fonctionnalité pratique qui vous permet de créer facilement des documents personnalisés et de les envoyer à plusieurs destinataires. Dans Microsoft Word, la fonctionnalité de fusion et publipostage est très appréciée car elle permet aux utilisateurs de gagner du temps en copiant manuellement le même contenu pour chaque destinataire. Afin d'imprimer le document de publipostage, vous pouvez accéder à l'onglet Mailings. Mais certains utilisateurs de Word ont signalé que lorsqu'ils essayaient d'imprimer un document de publipostage, l'imprimante imprimait une page vierge ou n'imprimait pas du tout. Cela peut être dû à un formatage ou à des paramètres d'imprimante incorrects. Essayez de vérifier les paramètres du document et de l'imprimante et assurez-vous de prévisualiser le document avant de l'imprimer pour vous assurer que le contenu est correct. si

Comment exécuter le projet thinkphp Comment exécuter le projet thinkphp Apr 09, 2024 pm 05:33 PM

Pour exécuter le projet ThinkPHP, vous devez : installer Composer ; utiliser Composer pour créer le projet ; entrer dans le répertoire du projet et exécuter php bin/console serve ; visiter http://localhost:8000 pour afficher la page d'accueil.

Il existe plusieurs versions de thinkphp Il existe plusieurs versions de thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP dispose de plusieurs versions conçues pour différentes versions de PHP. Les versions majeures incluent 3.2, 5.0, 5.1 et 6.0, tandis que les versions mineures sont utilisées pour corriger les bogues et fournir de nouvelles fonctionnalités. La dernière version stable est ThinkPHP 6.0.16. Lorsque vous choisissez une version, tenez compte de la version PHP, des exigences en matière de fonctionnalités et du support de la communauté. Il est recommandé d'utiliser la dernière version stable pour de meilleures performances et une meilleure assistance.

Comment exécuter thinkphp Comment exécuter thinkphp Apr 09, 2024 pm 05:39 PM

Étapes pour exécuter ThinkPHP Framework localement : Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un hôte virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.

Lequel est le meilleur, Laravel ou thinkphp ? Lequel est le meilleur, Laravel ou thinkphp ? Apr 09, 2024 pm 03:18 PM

Comparaison des performances des frameworks Laravel et ThinkPHP : ThinkPHP fonctionne généralement mieux que Laravel, en se concentrant sur l'optimisation et la mise en cache. Laravel fonctionne bien, mais pour les applications complexes, ThinkPHP peut être mieux adapté.

Comment installer thinkphp Comment installer thinkphp Apr 09, 2024 pm 05:42 PM

Étapes d'installation de ThinkPHP : Préparez les environnements PHP, Composer et MySQL. Créez des projets à l'aide de Composer. Installez le framework ThinkPHP et ses dépendances. Configurez la connexion à la base de données. Générez le code de l'application. Lancez l'application et visitez http://localhost:8000.

Quelles sont les performances de thinkphp ? Quelles sont les performances de thinkphp ? Apr 09, 2024 pm 05:24 PM

ThinkPHP est un framework PHP hautes performances présentant des avantages tels que le mécanisme de mise en cache, l'optimisation du code, le traitement parallèle et l'optimisation des bases de données. Les tests de performances officiels montrent qu'il peut gérer plus de 10 000 requêtes par seconde et qu'il est largement utilisé dans les sites Web à grande échelle et les systèmes d'entreprise tels que JD.com et Ctrip dans les applications réelles.

See all articles