سلام و درود دوستان وقتتون بخیر
من در کرنل یک schedule تعریف کردم که مثلا در یک جدول هر دقیقه یک مقداری را وارد کند . خب کد کرنل رو به صورت زیر تغییر دادم .
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use Illuminate\Support\Facades\DB;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
//
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')->hourly();
$schedule->call(function () {
DB::table('pagesanalytics')->insert([
'test1'=>'test1',
]);
})->everyMinute();
}
/**
* Register the commands for the application.
*
* @return void
*/
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}
حالا مشکل من اینه که خود به خود هر دقیقه اجرا نمیشه و من باید حتما دستور php artisan schedule:run
رو اجرا کنم . بعد از اجرای دستور یک بار توی دیتابیس یک ریکورد ثبت میشه اما دقیقه بعد اجرا نمیشه .
خب با خودم فکر کردم که از cron لینوکس استفاده کنم که مثلا هر دقیقه دستور run رو اجرا کنه اما مشکل اینجاس که اگر اسکجول های دیگه مثلا هر ۵ دقیقه هم داشته باشم همگی هر یک دقیقه اجرا میشن .
و به طور کل واقعا این قضیه schedule من رو گیج کرده . اگر یک توضیح کامل بدین واقعا ممنونتون میشم .
اطلاعات کلی :
هاست وبسایت هاست اشتراکی هستش cpanel
و لوکال هم سیستم عاملم linux ubuntu هستش
برای هر دو اگر گام به گام توضیح بدین ممنونتون میشم . و اگر در آموزش های آقای موسوی هم جلسه ای هست که این مطلبو گفته باشن هم آدرسشو بگذارین بعد از توضیح دادن ممنونتون میشم .
سلام
توی لوکال که باید schedule:work بزنی تا اجرا بشه کامل هر بار
برای سرور شما وقتی میگی هر دقیقه اجرا بشه اون schedule ک ساعتی باشه یا روزانه باشه فقط چک میشه توسط برنامت ک ایا نیاز به اجراش هست یا ن و تداخلی براش پیش نمیاد
عملا شما فقط میگی هر دقیقه چک کن کاری هست انجام بدی یا ن
حالا اگر ساعتیه داستان دیگ خودت میتونی cron رو هم روزانه ساعتی پنج دقیقه ای کنی که همخونی داشته باشه با schedule
سلام
توی لوکال که باید schedule:work بزنی تا اجرا بشه کامل هر بار
برای سرور شما وقتی میگی هر دقیقه اجرا بشه اون schedule ک ساعتی باشه یا روزانه باشه فقط چک میشه توسط برنامت ک ایا نیاز به اجراش هست یا ن و تداخلی براش پیش نمیاد
عملا شما فقط میگی هر دقیقه چک کن کاری هست انجام بدی یا ن
حالا اگر ساعتیه داستان دیگ خودت میتونی cron رو هم روزانه ساعتی پنج دقیقه ای کنی که همخونی داشته باشه با schedule
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟