"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > लारवेल में शेड्यूल्ड टास्क कैसे बनाएं?

लारवेल में शेड्यूल्ड टास्क कैसे बनाएं?

2024-11-03 को प्रकाशित
ब्राउज़ करें:849

सभी को नमस्कार! आज, मैं आपको लारवेल में एक निर्धारित कार्य बनाने की प्रक्रिया के बारे में बताने जा रहा हूँ। हम उपयोगकर्ताओं को दैनिक मार्केटिंग ईमेल भेजने का उदाहरण लेंगे।

चरण 1: ईमेल क्लास बनाएं

सबसे पहले, आइए निम्नलिखित आर्टिसन कमांड का उपयोग करके एक नया मेल करने योग्य वर्ग बनाएं:

php artisan make:mail DailyMarketingEmail --view

यह कमांड रिसोर्सेज/व्यू/मेल/ डायरेक्टरी के अंदर संबंधित व्यू फाइल, daily-marketing-email.blade.php के साथ, ऐप/मेल डायरेक्टरी में एक नया मेल करने योग्य क्लास जेनरेट करता है। आप इस दृश्य फ़ाइल में ईमेल की सामग्री को अनुकूलित कर सकते हैं।

चरण 2: एक आर्टिसन कमांड बनाएं

इसके बाद, हम एक आर्टिसन कमांड बनाएंगे जो हमारे डेलीमार्केटिंग ईमेल को भेजने का काम संभालेगा। निम्नलिखित कमांड चलाएँ:

php artisan make:command SendDailyMarketingEmail

यह कमांड ऐप/कंसोल/कमांड डायरेक्टरी में एक नया कमांड क्लास जेनरेट करेगा।

चरण 3: कमांड संरचना को समझें

अपना कमांड जनरेट करने के बाद, आपको जेनरेटेड क्लास में दो प्रमुख गुण दिखाई देंगे:

संरक्षित $हस्ताक्षर: यह आपके आर्टिसन कमांड के नाम और हस्ताक्षर को परिभाषित करता है।
संरक्षित $विवरण: यह आपके आदेश का विवरण प्रदान करता है।
इस क्लास में हैंडल विधि वह जगह है जहां आप अपने कमांड के तर्क को परिभाषित करेंगे।

सब कुछ सेट हो जाने के बाद, आप चलाकर अपने सभी आर्टिसन कमांड को सूचीबद्ध कर सकते हैं:

पीएचपी कारीगर

आपको सूची में अपना आदेश देखना चाहिए:

How to create a scheduled Task in Laravel ?

चरण 4: कमांड लॉजिक लागू करें

अब, मार्केटिंग ईमेल भेजने के लिए हैंडल विधि के भीतर तर्क को परिभाषित करें:

each(function ($user) {
            Mail::to($user->email)->send(new DailyMarketingEmail);
        });

    }
}

हैंडल विधि में, हम डेटाबेस से सभी उपयोगकर्ताओं को पुनः प्राप्त करते हैं और प्रत्येक को डेलीमार्केटिंगईमेल भेजते हैं।

चरण 5: कमांड का परीक्षण करना

आप चलाकर अपने कमांड का मैन्युअल रूप से परीक्षण कर सकते हैं:

php artisan app:send-daily-marketing-emails

परीक्षण के दौरान भेजे गए ईमेल को पकड़ने और देखने के लिए मेलट्रैप या मेलहॉग जैसे टूल का उपयोग करने पर विचार करें।

चरण 6: कमांड शेड्यूल करें

अंत में, इस ईमेल को दैनिक रूप से भेजने को स्वचालित करने के लिए, हमें ऐप/कंसोल/ निर्देशिका में स्थित Kernel.php फ़ाइल की शेड्यूल विधि में कमांड को शेड्यूल करना होगा:

command('app:send-daily-marketing-emails')->dailyAt('08:30'); 
    }

    /**
     * Register the commands for the application.
     */
    protected function commands(): void
    {
        $this->load(__DIR__.'/Commands');

        require base_path('routes/console.php');
    }
}

यहां, हम हर दिन सुबह 08:30 बजे कमांड को चलाने के लिए शेड्यूल करने के लिए dailyAt('08:30') विधि का उपयोग करते हैं। आप आवश्यकतानुसार समय समायोजित कर सकते हैं।

अतिरिक्त सुझाव:

  1. ईमेल कतारबद्ध करना: बड़ी संख्या में उपयोगकर्ताओं के लिए, ईमेल को एक साथ भेजने के बजाय कतारबद्ध करना एक अच्छा अभ्यास है। यह मेल करने योग्य वर्ग में ShodQueue इंटरफ़ेस को कार्यान्वित करके किया जा सकता है।

  2. प्रदर्शन संबंधी विचार: बड़े उपयोगकर्ता आधारों के लिए, कुशल प्रदर्शन सुनिश्चित करने के लिए डेटाबेस प्रश्नों और ईमेल भेजने की प्रक्रिया को अनुकूलित करने पर विचार करें।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/kepsondiaz/how-to-create-a-scheduled-task-in-laravel--54a0?1 यदि कोई उल्लंघन है, तो कृपया [email protected] पर संपर्क करें। इसे हटा
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3