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 Using ஆகும். Laravel பயன்படுத்துவதன் மூலம் Redis Queue, நீங்கள் பயன்பாட்டின் செயல்திறனை மேம்படுத்தலாம் மற்றும் பயனர் அனுபவத்தை மேம்படுத்தலாம்.