Để lên lịch tác vụ trong Laravel, bạn có thể sử dụng bộ lập lịch tác vụ tích hợp. Bộ lập lịch này cho phép bạn xác định các tác vụ của mình trong một tệp duy nhất và Laravel sẽ đảm nhiệm việc chạy chúng theo các khoảng thời gian đã chỉ định
Dưới đây là một ví dụ về cách sử dụng bộ lập lịch tác vụ để lên lịch tác vụ
Đầu tiên, xác định nhiệm vụ của bạn trong `app/Console/Kernel. tập tin php`. Trong ví dụ này, tác vụ sẽ là một lần đóng đơn giản xuất thông báo tới bàn điều khiển
protected function schedule[Schedule $schedule] { $schedule->call[function [] { echo "This is my scheduled task!"; }]->everyMinute[]; }
Mã này đăng ký một tác vụ mới sẽ được thực thi mỗi phút. Phương thức `call[]` chấp nhận một bao đóng chứa mã sẽ được thực thi bởi tác vụ
Tiếp theo, bạn cần thêm một mục cron vào tệp crontab của máy chủ để chạy bộ lập lịch tác vụ Laravel. Để làm điều này, bạn có thể sử dụng lệnh `crontab`
* * * * * cd /path-to-your-laravel-project && php artisan schedule:run >> /dev/null 2>&1
Mục cron này sẽ chạy `schedule. lệnh run` Artisan mỗi phút, lệnh này sẽ lần lượt chạy bất kỳ tác vụ nào được lên lịch chạy vào thời điểm đó
Bạn cũng có thể sử dụng phương thức `at` để lên lịch chạy một tác vụ vào một thời điểm cụ thể, thay vì theo các khoảng thời gian đều đặn. Ví dụ
$schedule->call[function [] { echo "This is my scheduled task!"; }]->at['12:00'];
Code này sẽ chạy nhiệm vụ vào buổi trưa hàng ngày
Nhìn chung, Laravel task scheduler là một cách thuận tiện để tự động hóa các tác vụ trong ứng dụng của bạn. Bằng cách xác định các nhiệm vụ của bạn trong một tệp duy nhất và sử dụng các lệnh tích hợp, bạn có thể dễ dàng quản lý và lên lịch cho các nhiệm vụ của mình trong Laravel
Bài viết này dành cho bạn nếu bạn đang tìm kiếm câu trả lời cho câu hỏi Cách lập lịch trình trong laravel trong cron tùy chỉnh với các ví dụ . Tôi sẽ cung cấp cho bạn một ví dụ 2 để giúp bạn giải quyết vấn đề này.
protected function schedule[Schedule $schedule] { $schedule->call[function [] { }]->->monthlyOn[23, '13:00']; }
$schedule->command['command']->when[function []{ return Carbon::create[2020,4,28,13]->isPast[]; }];
Các instance khác xoay quanh chủ đề Cách lập lịch trong laravel trong custom cron với các Ví dụ được nhiều người quan tâm
Làm cách nào để lên lịch tác vụ trong Laravel bằng cron?
Cron này sẽ thực thi " php artisan schedule. chạy lệnh " mỗi phút trong hệ thống và từ đó, lịch trình của laravel thực hiện điều kỳ diệu của nó. Bây giờ, chúng ta sẽ tìm hiểu cách lên lịch các tác vụ trong Laravel cùng với khoảng thời gian được chỉ định để Laravel Scheduler thực thi. Để lên lịch cho các tác vụ, bạn có thể định nghĩa các tác vụ trong phương thức lên lịch của lớp App\Console\Kernel
Laravel scheduler trong Laravel là gì?
Laravel Scheduler là một tiện ích dòng lệnh cho phép bạn dễ dàng quản lý và lên lịch các tác vụ bằng cách sử dụng các công việc định kỳ. Có nhiều trường hợp sử dụng khác nhau mà bạn sẽ cần lên lịch các tác vụ như - lên lịch sao lưu, email quảng cáo, apis tìm nạp dữ liệu, v.v. Để thiết lập Laravel Scheduler, bạn chỉ cần thiết lập một công việc định kỳ duy nhất trong máy chủ của mình
Việc sử dụng cron trong Linux là gì?
Cron là một bộ lập lịch tác vụ dựa trên thời gian trong các hệ điều hành Unix/Linux. Nó chạy các lệnh shell trong một khoảng thời gian được chỉ định trước. Cron sử dụng một file cấu hình có tên là crontab hay còn gọi là Cron table để quản lý quá trình lập lịch tác vụ. Crontab chứa tất cả các công việc Cron liên quan đến một tác vụ cụ thể
Làm cách nào để tạo tệp crontab trong Laravel?
Chuyển đến thiết bị đầu cuối của bạn, ssh vào máy chủ của bạn, cd vào dự án của bạn và chạy lệnh này. Thao tác này sẽ mở tệp Crontab của máy chủ, dán mã bên dưới vào tệp, lưu rồi thoát. Đừng quên thay thế /path/to/artisan bằng đường dẫn đầy đủ tới lệnh Artisan của Ứng dụng Laravel của bạn