×ðÁú¿­Ê±

laravelÐÐÁÐÔõôʵÏÖÐÂÎÅÍÆËÍ

Ëæ×Å»¥ÁªÍøµÄѸÃÍÉú³¤£¬ÐÂÎÅÍÆËÍÒѾ­³ÉΪÁËÏÖ´úÓ¦ÓóÌÐòÖбز»¿ÉÉÙµÄÒ»²¿·Ö  ¡£ÔÚÐí¶àÇéÐÎÏ£¬µ±Óû§ÓëÓ¦ÓóÌÐò¾ÙÐн»»¥Ê±£¬Ó¦ÓóÌÐòÐèÒª¼´Ê±µØ·¢ËÍÐÂÎÅÒÔ»ñµÃÓû§µÄ·´Ïì  ¡£ÔÚÕâÖÖÇéÐÎÏ£¬Ê¹ÓÃÐÂÎÅÐÐÁÐÀ´´¦Öóͷ£ÕâЩÐÂÎÅ¿ÉÒÔ¼«´óµØÌá¸ßÓ¦ÓóÌÐòµÄÐÔÄܺͿÉÉìËõÐÔ  ¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃǽ«ÏÈÈÝÔõÑùʹÓÃlaravelÐÐÁÐÀ´ÊµÏÖÐÂÎÅÍÆËÍ  ¡£

ʲôÊÇLaravelÐÐÁУ¿

LaravelÐÐÁÐÊÇÒ»ÖÖÓÃÓÚÒì²½´¦Öóͷ£Ê¹ÃüµÄ¹¤¾ß  ¡£ÔÚLaravelÓ¦ÓóÌÐòÖУ¬Í¨¹ý½«ÐèÒª´¦Öóͷ£µÄʹÃüÍÆË͵½ÐÐÁÐÖУ¬¿ÉÒÔʵÏÖÒì²½´¦Öóͷ£ÕâЩʹÃü  ¡£ÕâÖÖ´¦Öóͷ£·½·¨¿ÉÒÔ¼«´óµØÌá¸ßÓ¦ÓóÌÐòµÄÐÔÄܺͿÉÀ©Õ¹ÐÔ£¬²¢ïÔÌ­¶ÔÓû§µÄÏìӦʱ¼ä  ¡£

ʹÓÃLaravelÐÐÁÐʵÏÖÐÂÎÅÍÆËÍ

ÔÚLaravelÓ¦ÓóÌÐòÖУ¬¿ÉÒÔͨ¹ýÒÔÏ°취À´ÊµÏÖÐÂÎÅÍÆËÍ£º

×°ÖÃLaravelÐÐÁÐ

Ê×ÏÈ£¬ÐèҪװÖÃLaravelÐÐÁÐ  ¡£ÔÚLaravelÓ¦ÓóÌÐòÖУ¬LaravelÐÐÁÐÊÇͨ¹ýComposer¾ÙÐÐ×°ÖõÄ  ¡£Í¨¹ýÔÚÖÕ¶ËÖÐʹÓÃÒÔÏÂÏÂÁ¿ÉÒÔ×°ÖÃComposer£º

composer require illuminate/queue

µÇ¼ºó¸´ÖÆ

ÉèÖÃLaravelÐÐÁÐ

ÔÚ×°ÖÃLaravelÐÐÁÐÖ®ºó£¬ÐèÒª¾ÙÐÐһЩÉèÖà  ¡£ÔÚLaravelÓ¦ÓóÌÐòÖУ¬¿ÉÒÔͨ¹ýÒÔϼ¸¸ö°ì·¨¾ÙÐÐÉèÖãº

A. ÔÚ .env ÎļþÖÐÌí¼ÓÒÔÏÂÉèÖÃÐÅÏ¢£º

QUEUE_CONNECTION=redis
REDIS_HOST=localhost
REDIS_PASSWORD=null
REDIS_PORT=6379

µÇ¼ºó¸´ÖÆ

B. ÔÚ config/queue.php ÎļþÖоÙÐÐÉèÖãº

'connections' => [

        'redis' => [
            'driver' => 'redis',
            'connection' => 'default',
            'queue' => env('QUEUE_NAME', 'default'),
            'retry_after' => 90,
            'block_for' => null,
        ],

    ],

µÇ¼ºó¸´ÖÆ

±àдÐÂÎÅÍÆËÍ´úÂë

ÔÚÍê³ÉÁËLaravelÐÐÁеÄÉèÖÃÖ®ºó£¬¿ÉÒÔ±àд´úÂëÀ´ÊµÏÖÐÂÎÅÍÆËÍ  ¡£ÏÂÃæÊDZàд´úÂëµÄÒ»¸öʾÀý£º

use Illuminate\Support\Facades\Queue;
use App\Jobs\PushNotification;

$data = [
    'title' => 'New Notification',
    'message' => 'You have a new notification',
    'user_id' => 1,
];

Queue::push(new PushNotification($data));

µÇ¼ºó¸´ÖÆ

ÔÚÕâ¸öʾÀýÖУ¬ÎÒÃǽ«ÐèÒª·¢Ë͵Ä֪ͨÊý¾Ý°ü×°³ÉÒ»¸öÊý×飬²¢½«ÆäÍÆË͵½ÐÐÁÐÖÐ  ¡£ÔÚÕâÖ®ºó£¬LaravelÐÐÁн«ÒÔÒì²½·½·¨´¦Öóͷ£´ËʹÃü£¬²¢Ö´ÐÐ PushNotification ʹÃü  ¡£

±àдÐÐÁÐʹÃü´úÂë

ÔÚÉÏÊöʾÀýÖУ¬ÎÒÃǽ«Í¨ÖªÊý¾ÝÍÆË͵½ÐÐÁÐÖÐ  ¡£½ÓÏÂÀ´£¬ÐèÒª±àдһ¸ö´¦Öóͷ£ÐÐÁÐÖÐÍÆËÍ֪ͨʹÃüµÄʹÃü´úÂë  ¡£ÏÂÃæÊÇÒ»¸öʾÀý£º

namespace App\Jobs;

use Illuminate\Support\Facades\Log;

class PushNotification implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    protected $data;

    /**
     * Create a new job instance.
     *
     * @param array $data
     */
    public function __construct(array $data)
    {
        $this->data = $data;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        // Handle the notification here
        Log::info('Notification sent to user ID ' . $this->data['user_id']);
    }
}

µÇ¼ºó¸´ÖÆ

ÔÚÕâ¸öʾÀýÖУ¬ÎÒÃǽç˵ÁËÒ»¸ö PushNotification ʹÃü£¬²¢½¨ÉèÁËÒ»¸ö½á¹¹º¯ÊýÀ´³õʼ»¯Ê¹ÃüËùÐèµÄÊý¾Ý  ¡£ÔÚʹÃüµÄ handle ÒªÁìÖУ¬ÎÒÃǽ«´¦Öóͷ£·¢ËÍ֪ͨµÄÂß¼­£¬²¢¼Í¼֪ͨÒÑ·¢Ë͸øÄĸöÓû§  ¡£

Æô¶¯ÐÐÁд¦Öóͷ£Æ÷

ÔÚÍê³ÉÁËÐÐÁÐʹÃüµÄ±àд֮ºó£¬ÐèÒªÆô¶¯ÐÐÁд¦Öóͷ£Æ÷ÒÔÖ´ÐÐÐÐÁÐÖеÄʹÃü  ¡£¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÆô¶¯ÐÐÁд¦Öóͷ£Æ÷£º

php artisan queue:work

µÇ¼ºó¸´ÖÆ

ËäÈ»£¬Ò²¿ÉÒÔͨ¹ýÔËÐÐÒÔÏÂÏÂÁîÀ´Ö¸¶¨ÐÐÁÐÅþÁ¬£º

php artisan queue:work redis

µÇ¼ºó¸´ÖÆ

ÔÚLaravelÐÐÁÐÖУ¬¿ÉÓõÄÐÐÁд¦Öóͷ£Æ÷°üÀ¨£ºSync¡¢Database¡¢Redis¡¢Beanstalkd¡¢Amazon SQS ºÍ Null  ¡£ÉÏÊöÏÂÁî½ÓÄÉĬÈϵÄredisÐÐÁÐÅþÁ¬  ¡£¿ÉÒÔͨ¹ý¸ü¸Ä .env ÎļþÀ´¸ü¸ÄĬÈÏÐÐÁÐÅþÁ¬ºÍÐÐÁÐÃû³Æ  ¡£

²âÊÔ

Íê³ÉÒÔÉÏËùÓа취֮ºó£¬ÎÒÃÇ¿ÉÒÔ²âÊÔ×ðÁú¿­Ê±ÐÂÎÅÍÆËÍÊÇ·ñÕý³£ÊÂÇé  ¡£Í¨¹ý½«ÍÆË͵ÄÐÂÎżÍ¼ÏÂÀ´£¬ÎÒÃÇ¿ÉÒÔÈ·¶¨Ê¹ÃüÊÇ·ñÀֳɵØÌí¼Óµ½ÁËÐÐÁÐ  ¡£ÒÔÏÂÊÇͨ¹ýʹÓÃÈÕÖ¾ÎļþÀ´²âÊÔÐÂÎÅÍÆË͵ÄʾÀý£º

use Illuminate\Support\Facades\Queue;
use App\Jobs\PushNotification;

$data = [
    'title' => 'New Notification',
    'message' => 'You have a new notification',
    'user_id' => 1,
];

Queue::push(new PushNotification($data));
Log::info('Notification sent to user ID ' . $data['user_id']);

µÇ¼ºó¸´ÖÆ

ÔÚÕâ¸öʾÀýÖУ¬ÎÒÃǼͼÁË֪ͨÒÑ·¢Ë͸øÄĸöÓû§  ¡£ÔÚÆô¶¯ÐÐÁд¦Öóͷ£Æ÷Ö®ºó£¬Éó²éÈÕÖ¾ÎļþÒÔÈ·ÈÏ֪ͨÊÇ·ñÒÑ·¢ËÍ  ¡£

½áÂÛ

µ±Óû§ÓëÓ¦ÓóÌÐò¾ÙÐн»»¥Ê±£¬ÐÂÎÅÍÆËÍÒѾ­³ÉΪÁËÏÖ´úÓ¦ÓóÌÐòÖбز»¿ÉÉÙµÄÒ»²¿·Ö  ¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇÏÈÈÝÁËÔõÑùʹÓÃLaravelÐÐÁÐÀ´ÊµÏÖÐÂÎÅÍÆËÍ  ¡£Í¨¹ýʹÓÃLaravelÐÐÁУ¬¿ÉÒÔʵÏÖÒì²½´¦Öóͷ£Ó¦ÓóÌÐòÖеÄʹÃü£¬´Ó¶øÌá¸ßÓ¦ÓóÌÐòµÄÐÔÄܺͿÉÀ©Õ¹ÐÔ  ¡£LaravelÐÐÁв»µ«Ò×ÓÚʹÓ㬲¢ÇÒÊÇÒ»ÖÖ¼òÆÓ¶øÇ¿Ê¢µÄ¹¤¾ß£¬¿ÉÓÃÓÚ½«ÐÂÎÅÍÆË͵½Ó¦ÓóÌÐòÖеÄÈκÎ×°±¸»òƽ̨  ¡£

ÒÔÉϾÍÊÇlaravelÐÐÁÐÔõôʵÏÖÐÂÎÅÍÆË͵ÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼  ¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ  ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±ÊµÊ±ÐÞÕý»òɾ³ý  ¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
¡¾ÍøÕ¾µØͼ¡¿¡¾sitemap¡¿