Redis Queue માં Laravel: હેન્ડલિંગ ક્યુઇંગ

માં Laravel, Redis Queue એક શક્તિશાળી સાધન છે જેનો ઉપયોગ લાંબા સમયથી ચાલતા અને સમય માંગી લેનારા કાર્યોને પૂર્ણ થવાની રાહ જોયા વિના સંભાળવા માટે થાય છે. નો ઉપયોગ કરીને Redis Queue, તમે ઇમેલ મોકલવા, પૃષ્ઠભૂમિ કાર્યો પર પ્રક્રિયા કરવા અથવા રિપોર્ટ્સ જનરેટ કરવા જેવા કાર્યોને કતારબદ્ધ કરી શકો છો અને તેમને અસુમેળ રીતે ચલાવી શકો છો, એપ્લિકેશન પ્રદર્શનમાં સુધારો કરી શકો છો અને વપરાશકર્તા અનુભવને બહેતર બનાવી શકો છો.

Redis Queue ઉપયોગ કરવા માટેના મૂળભૂત પગલાં Laravel

રૂપરેખાંકિત કરો Redis

સૌ પ્રથમ, તમારે Redis માં ઇન્સ્ટોલ અને રૂપરેખાંકિત કરવાની જરૂર છે Laravel. ખાતરી કરો કે તમે Redis કંપોઝર દ્વારા પેકેજ ઇન્સ્ટોલ કર્યું છે અને ફાઇલમાં Redis કનેક્શન પરિમાણોને ગોઠવેલ છે .env.

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

નોકરીઓ વ્યાખ્યાયિત કરો

આગળ, તમારે કતારમાં મૂકવા માંગો છો તે જોબ્સને વ્યાખ્યાયિત કરવાની જરૂર છે. આ નોકરીઓ અસુમેળ રીતે અને અરજીની મુખ્ય પ્રક્રિયાથી સ્વતંત્ર રીતે કરવામાં આવશે.

// 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());  
    }  
}  

નોકરીઓને કતારમાં મૂકો

dispatch જ્યારે તમે કોઈ કાર્ય કરવા માંગો છો, ત્યારે તમે તેને અથવા ફંક્શનનો ઉપયોગ કરીને કતારમાં મૂકો છો 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();  

કતારમાંથી નોકરીઓની પ્રક્રિયા કરો

જોબને કતારમાં મૂક્યા પછી, તમારે Worker કતારમાં નોકરીઓ ચલાવવા માટે એક સેટ કરવાની જરૂર છે. ચલાવવા માટે Laravel સાથે આવે છે: artisan command worker

php artisan queue:work

worker કતારમાં નોકરીઓ સતત સાંભળશે અને અમલમાં મૂકશે. તમે worker જોબ્સની સંખ્યા અને પ્રોસેસિંગ રાઉન્ડ વચ્ચે રાહ જોવાનો સમય હેન્ડલ કરવા માટે ગોઠવી શકો છો.

કતારમાં નોકરીઓનું સંચાલન કરો

Laravel મેનેજમેન્ટ ઈન્ટરફેસ પ્રદાન કરે છે જ્યાં તમે કતારમાં જોબ્સનું નિરીક્ષણ અને નિયંત્રણ કરી શકો છો. તમે બાકી નોકરીઓની સંખ્યા, પ્રક્રિયાનો સમય જોઈ શકો છો અને નિષ્ફળ નોકરીઓનો ફરીથી પ્રયાસ પણ કરી શકો છો.

 

નિષ્કર્ષ Redis Queue in નો ઉપયોગ Laravel એ એપ્લિકેશનની મુખ્ય પ્રક્રિયામાં ખલેલ પહોંચાડ્યા વિના લાંબા સમયથી ચાલતા કાર્યોને હેન્ડલ કરવાની એક કાર્યક્ષમ રીત છે. નો ઉપયોગ કરીને Redis Queue, તમે એપ્લિકેશન પ્રદર્શનને સુધારી શકો છો અને વપરાશકર્તા અનુભવને વધારી શકો છો.