Redis Queue in Laravel: Láimhseáil scuaine

Is uirlis chumhachtach é In Laravel, Redis Queue a úsáidtear chun tascanna fadtréimhseacha agus am-íditheacha a láimhseáil gan fanacht lena gcur i gcrích. Trí úsáid a bhaint as Redis Queue, is féidir leat tascanna ar nós ríomhphoist a sheoladh, tascanna cúlra a phróiseáil, nó tuairiscí a ghiniúint a fhiosrú, agus iad a fhorghníomhú go neamhshioncronach, ag feabhsú feidhmíocht feidhmchláir agus ag cur le taithí an úsáideora.

Céimeanna Bunúsacha le hÚsáid Redis Queue i Laravel

Cumraigh Redis

Ar an gcéad dul síos, ní mór duit a shuiteáil agus a chumrú Redis i Laravel. Bí cinnte go bhfuil an pacáiste suiteáilte agat Redis trí Chumadóir agus go bhfuil na Redis paraiméadair cheangail sa .env chomhad cumraithe agat.

CACHE_DRIVER=redis  
REDIS_HOST=127.0.0.1  
REDIS_PASSWORD=null  
REDIS_PORT=6379  

Sainmhínigh Poist

Ansin, ní mór duit na poist is mian leat a chur sa scuaine a shainiú. Déanfar na poist seo go neamhshioncronach agus neamhspleách ar phríomhphróiseáil an iarratais.

// Example defining a job to send an email  
namespace App\Jobs;  
  
use Illuminate\Bus\Queueable;  
use Illuminate\Contracts\Queue\ShouldQueue;  
use Illuminate\Foundation\Bus\Dispatchable;  
use Illuminate\Queue\InteractsWithQueue;  
use Illuminate\Queue\SerializesModels;  
use Illuminate\Support\Facades\Mail;  
  
class SendEmailJob implements ShouldQueue  
{  
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;  
  
    protected $user;  
  
    public function __construct($user)  
    {  
        $this->user = $user;  
    }  
  
    public function handle()  
    {  
        // Handle sending an email to the user  
        Mail::to($this->user->email)->send(new WelcomeEmail());  
    }  
}  

Poist a chur sa scuaine

Nuair is mian leat post a dhéanamh, ní gá duit ach é a chur isteach sa scuaine ag baint úsáide as na feidhmeanna dispatchdispatchNow:

use App\Jobs\SendEmailJob;  
use Illuminate\Support\Facades\Queue;  
  
// Put the job into the queue and perform asynchronously  
Queue::push(new SendEmailJob($user));  
  
// Put the job into the queue and perform synchronously(without waiting)  
Queue::push(new SendEmailJob($user))->dispatchNow();  

Próiseáil Poist ón gCuaine

Tar éis duit an post a chur sa scuaine, ní mór duit a shocrú chun Worker na poist sa scuaine a chur i gcrích. Laravel thagann le agus artisan command a rith an worker:

php artisan queue:work

Éistfidh siad worker go leanúnach agus déanfaidh siad na poist sa scuaine. Is féidir leat a chumrú worker chun líon na bpost a láimhseáil agus an t-am feithimh idir na babhtaí próiseála.

Bainistigh Poist sa scuaine

Laravel soláthraíonn sé comhéadan bainistíochta inar féidir leat monatóireacht agus rialú a dhéanamh ar na poist sa scuaine. Is féidir leat féachaint ar líon na bpost ar feitheamh, an t-am próiseála, agus fiú iarracht a dhéanamh arís ar phoist ar theip orthu.

 

Conclúid Is bealach éifeachtach é úsáid a bhaint Redis Queue as Laravel chun tascanna fadtréimhseacha a láimhseáil gan cur isteach ar phríomhphróiseáil an fheidhmchláir. Trí úsáid a bhaint as Redis Queue, is féidir leat feidhmíocht feidhmchláir a fheabhsú agus taithí úsáideora a fheabhsú.