campaign-edianeh-98

برنامه ریزی عملیات ها با استفاده از Laravel cron job



visibility  
mode_comment   ۰

هر اپلیکیشنی نیازمند یک مدیریت کننده عملیات( task scheduling) است که عملیات های اپلیکیشن را که به صورت دوره ای باید انجام شوند را مدیریت کند، Laravel cron job مکانیزمی است که این کار را در لاراول برای شما انجام می دهد.

Laravel cron job چیست و چگونه از آن استفاده کنیم؟

Laravel cron job یک مدیریت کننده عملیات است که باعث می شود تا اپلیکیشن های شما بتوانند عملیات های مورد نیاز خود را به صورت دوره ای با استفاده از این ابزار اجرا کنند. برای استفاده از ابزار Laravel cron job نیازمند سیستم عامل لینوکس و همچنین دانش کافی درباره پی اچ پی و لاراول هستید. با وارد شدن به پروژه خود و استفاده از دستور php artisan make:command WordOfTheDay می توانید یک فایل command جدید بسازید، با وارد شدن به این فایل می توانید کدهای زیر را مشاهده کنید:

 این کد دستور زیر شامل نام و ویژگی دستور ما می باشد:

protected $signature = 'command:name';

جای کلمات command:name و word:day را عوض کنید. قطعه کد بالا همچنین شامل یک ویژگی توضیحات نیز می باشد که با دستور زیر نشان داده شده است.

protected $description = 'Send a Daily email to all users with a word and its meaning';

Laravel cron job

فراخوانی متد مدیریت کننده

همانطور که گفته شد Laravel cron job یک سیستم مدیریت کننده می باشد، در این سیستم متد مدیریت کننده هر بار که دستوری اجرا می شود فراخوانی می شود و به ما می گوید که کد می خواهد عملیات خاصی را انجام دهد. قطعه کد زیر را در نظر بگیرید:

حال برای این که شما بتوانید یک command بسازید تا در Laravel cron job از آن استفاده کنید باید آن را در کرنل رجیستر کنید:

در این فایل ما کلاس command را در ویژگی Commands رجیستر کردیم و به همین علت مدیریت کننده command ها آن ها را به صورت دوره ای اجرا خواهد کرد. این دستور در واقع تمامی عملیات های ما را توسط Laravel cron jpb مدیریت می کند.

این فایل را توسط محتوای زیر تغییر دهید، ما به راحتی ویژگی WordOfTheDay را به پروژه اضافه کردیم و آن را برنامه ریزی کردیم تا به صورت روزانه اجرا شود.

حال اگر شما در قسمت فرمان پی اچ پی این دستورات را اجرا کنید خواهید دید که دستورات شما ثبت شده اند. راه اندازی پایگاه داده و پست الکترونیکی نیز در فایل .env صورت می گیرد که می توانید از طریق دستور زیر این کار را انجام دهید:

php artisan word:day

Laravel cron job

استفاده از متد Closure/callback Method

Laravel cron job به شما اجازه می دهد که یک متد را به صورت دوره ای فراخوانی کنید و آن را در فواصل زمانی معین اجرا کنید. در این جا ما فقط محتویات این کلاس را به شما نمایش می دهیم.

در نهایت برای شروع مدیریت کننده و برنامه ریز لاراول نیز می توانید از دستور زیر در قسمت ترمینال پی اچ پی استفاده کنید:

Crontab -e

متخصص PHP
اگر دوست داری برنامه نویسی PHP رو حرفه ای یاد بگیری آیا می دانید بیش از ۸۰% وب سایت های موجود در ایران از جمله لیدرهای بازار وب (اسنپ، اسنپ فود، نت برگ، دیجیکالا، الوپیک و ... ) زبان برنامه نویسی PHP را به عنوان زبان اصلی برای پیاده سازی امکانات سمت سرور خود انتخاب کردند! متخصص PHP arrow_back
comment دیدگاه کاربران

add_circle ارسال دیدگاه

خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :