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 dispatch
nó dispatchNow
:
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ú.