Chào mừng bạn đến với hướng dẫn về cách lên lịch chạy tập lệnh PHP vào một thời điểm cụ thể. Cần gửi email vào một thời điểm nhất định? . Đọc để tìm hiểu làm thế nào
MỤC LỤC
LỊCH TRÌNH CỬA SỔ
Trong phần này, chúng ta sẽ xem xét cách lên lịch cho tập lệnh PHP bằng Trình lập lịch tác vụ trong Windows
CÔNG CỤ LÊN LỊCH NHIỆM VỤ CỦA WINDOWS
BƯỚC 1) MỞ LỊCH TRÌNH NHIỆM VỤ
Tiếp tục, chúng ta hãy xem cách lên lịch một tập lệnh PHP trong Linux
LÊN LỊCH BẰNG AT (CHẠY MỘT LẦN)
Linux theo lệnh
echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/2012Linux có nhiều bản dựng và hương vị khác nhau, một số có thể cung cấp giao diện đồ họa để lên lịch tác vụ trong khi một số thì không. Vì vậy, chúng tôi sẽ đi thẳng vào cách đáng tin cậy nhất – Sử dụng dòng lệnh. Để lên lịch cho một tác vụ chỉ chạy một lần, chúng ta sử dụng lệnh echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/20122
LÊN LỊCH BẰNG CRON (CHẠY ĐỊNH KỲ)
Linux crontab
sudo crontab -e 0 3 * * * /usr/bin/php /http/test.phpĐể lặp lại kịch bản định kỳ, chúng ta có thể sử dụng echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/20123 cũ. Định dạng của echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/20123 giống như thế này
- Phút – 0 đến 59
- Giờ – 0 đến 23
- Ngày trong tháng – 1 đến 31
- Tháng trong năm – Từ ngày 1 đến ngày 12 hoặc tháng 1 đến tháng 12
- Ngày trong tuần – 0 đến 6, hoặc Sun đến Sat
- Lệnh chạy
Vì vậy, đối với ví dụ trên, tập lệnh PHP được đặt để chạy vào lúc 3 giờ sáng hàng ngày. Nếu bạn cần thêm echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/20123 ví dụ, tôi sẽ để lại một liên kết trong phần bổ sung bên dưới
P. S. Bạn cũng có thể sử dụng echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/20126 để liệt kê tất cả các tác vụ đã lên lịch hiện có, echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/20127 để dừng tất cả các công việc định kỳ
LỊCH MAC
Chà, macOS dựa trên Unix. Có nghĩa là, sử dụng lại crontab cũ tốt
LÊN LỊCH BẰNG CRON
bảng điều khiển macOS
________số 8_______Vâng, nó giống như Linux. Nhưng đây chỉ là một ví dụ khác sẽ chạy ở mức 5. 30h Thứ Hai hàng tuần
LÊN LỊCH BẰNG GUI
Đối với những người muốn sử dụng GUI để lên lịch cho một tác vụ, đây là một quá trình khó khăn mà tôi đã nghe lần cuối - Về cơ bản, nó bao gồm
- Sử dụng Automator để tạo quy trình làm việc “tập lệnh shell PHP tự động chạy”
- Sau đó sử dụng iCal để lên lịch chạy tác vụ Automator
Tôi không phải là chuyên gia về Mac, vì vậy bạn hãy tự nghiên cứu… Tuy nhiên, Crontab dễ dàng hơn rất nhiều
LỊCH TRÌNH ĐỘC LẬP NỀN TẢNG
Vậy chúng ta phải làm gì khi không có quyền truy cập vào bộ lập lịch tác vụ?
INFINITE WHILE LOOP “SCHEDULER”
<?php // (A) SET THE TIME TO RUN $runAT = "2077-06-05 12:34:56"; // RUN THIS AT YYYY-MM-DD HH:MM:SS $runAT = strtotime($runAT); // (B) LOOP UNTIL IT'S TIME echo "Started"; while (true) { if (strtotime("now") >= $runAT) { // (B1) DO YOUR STUFF HERE echo "Running!"; // (B2) STOP LOOPING break; } sleep(10); // WAIT FOR X SECONDS }Chỉ cần chạy tập lệnh này trong dòng lệnh hoặc sử dụng echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/20128 để khởi chạy tập lệnh. Tập lệnh này sẽ đơn giản tiếp tục lặp lại cho đến khi nó đạt đến giá trị đặt trước echo "php /PATH/TO/script.php" | at 1:23 PM 12/12/20129 để chạy bất cứ thứ gì được yêu cầu
P. S. Mặc dù vậy, hãy cẩn thận, nhiều trường hợp của tập lệnh này có thể được sinh ra. Bạn có thể muốn tạo một số loại “cơ chế khóa” để ngăn quá nhiều người chạy
P. P. S. Một số “kẻ chuyên phá mã chính” sẽ không hài lòng với “sự thay thế vòng lặp vô tận nguy hiểm ngu ngốc” này. Nhưng nếu vẫn thất bại và đây là cách duy nhất hoạt động – Thì đó là một giải pháp tốt
BIT BỔ SUNG & LIÊN KẾT
Đó là tất cả cho hướng dẫn này và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn
LIÊN KẾT và THAM KHẢO
- Nhiệm vụ của Windows – Microsoft
- Linux theo lệnh – Computer Hope
- Ví dụ crontab Linux – TecAdmin
- Daemon PHP đơn giản – Code Boxx
KẾT THÚC
Cảm ơn bạn đã đọc, và chúng tôi đã đi đến phần cuối của hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn với dự án của bạn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, xin vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc