محمد
4 سال پیش توسط محمد مطرح شد
3 پاسخ

اجرای یه کد تو زمان مشخص

سلام خدمت شما من میخوام یه کدی سره یه ساعتی اجرا بشه ، برای این کار از queue و job تو لاراول استفاده کردم ولی خب در هر صورت

dispatch(new SendSms($value));

رو مثلا توی کنترلر صفحه اصلی گذاشتم تا اجرا بشه ولی خب اینطوری هر دفعه باید صفحه رفرش بشه ولی من نمیخوام اینطوری بشه ، میشه لطفا کمک کنید


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
1

برای این نیازتون می‌تونید از یک قابلیت دیگه لاراول بنام Scheduler و ترکیبش با Cron Job سرورتون استفاده کنید تا دستوراتتون سر زمان تعیین شده اجرا شوند:

/**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
            dispatch(new SendSms($value));
        })->daily();
    }

برای توضیحات و مثال های بیشتر هم می‌تونید به مستندات لاراول مراجعه کنید:
https://laravel.com/docs/8.x/scheduling


محمد
تخصص : طراح رابط کاربری، برنامه نویس...
@mhmd.dev 4 سال پیش مطرح شد
0

@mhyeganeh
آقا امیرحسین دستت درد نکنه یه ذره تو همون مستنداتش گشتم اینو پیدا کردم:

$schedule->job(new SendSms($text))->everyFiveMinutes();

که بعده این خطم اینو گذاشتم:

$schedule->command('queue:work')->everyFiveMinutes()->withoutOverlapping();

که کار هم کرد خداروشکر ولی باز ممنون از شما❤


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
1

موفق و پیروز باشید 👍

محمدحسنم :)


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام