Xin chào mọi người, hôm nay em xin chia sẻ kiến thức mà mình tìm hiểu được khi học framework Laravel.
Như mọi người biết rồi đấy trong quá trình xây dựng website của chúng ta, đôi lúc chúng ta cần lên kế hoạch hay dự định cho một công việc hay nhiệm vụ chạy vào một khoảng thời gian nhất định có thể là trong ngày, trong tuần...Và với Laravel hiện tại thì công việc này khá là đơn giản. Bây giờ chúng ta bắt đầu tìm hiểu nó nhé.
1. Đặt vấn đề
Bây giờ để hiểu rõ về Schedule trong Laravel hơn thì chúng ta sẽ thực hiện một bài toán đơn giản thế này. Chúng ta sẽ mỗi phút sẽ thêm 1 bản ghi vào bảng post_forum trong database.
2.Giải quyết bài toán
Bước 1: tạo command
Trong đó signature là command mà mọi người thực hiện trong terminal, description là tiêu đều của command và function handle để sử lý những tác vụ khi chạy command.
Bước 2: Đăng ký command trong ServiceProvider
Trong ServiceProvider chúng ta thêm doạn mã sau
Nếu muốn tùy chỉnh thời gian thực hiện thì chúng ta có thể chọn 1 số option khác của laravel cung cấp
Bước 3: Bắt đầu chạy Schedule
Đầu tiên để chạy được yêu cầu trên là cứ mỗi phút lại thêm một bản ghi vào bảng posts trong database thì chúng ta sẽ làm những thao tác sau đây.
-Gõ lệnh crontab -e sẽ hiện cho chúng ta để thêm schedule vào để chạy
-Sau đó chúng ta sẽ thêm câu lệnh sau và lưu lại để chạy nhé
-Nếu thấy thông báo như này thì chứng tỏ lả Schedule của chúng ta đang chạy rồi nhé.
-Và bây giờ mọi người vào database kiểm tra cứ mỗi 1 phút là nó sẽ thêm một bản ghi vào trong bảng posts của mọi người 😃) Nếu như mọi người muốn dừng không chạy nữa thì sẽ thêm dấu # trước câu lệnh
#* * * * * php /home/projects/test-command/blog/artisan schedule:run
3. Kết luận
Qua một ví dụ đơn giản như trên thì em mong rằng phần kiến thức mình chia sẻ sẽ giúp cho những ai chưa biết phần nào mường tượng ra cách Schedule trong Laravel nó hoạt động như thế nào. Cảm ơn mọi người đã đọc bài viết của em.
Tài liệu tham khảo : https://laravel.com/docs/8.x/scheduling