Trang chủ Lập trình Javascript - HTML Chạy cronjob trên XAMPP trên Windows

Chạy cronjob trên XAMPP trên Windows

Nếu bạn quen dùng cPanel hay cửa sổ dòng lệnh trên Linux thì dễ dàng tạo ra các cronjob. Tuy nhiên trên Windows thì cũng hơi nhằn một tý khi bạn sẽ phải quen với trình Task Scheduler. Nó thật sự ít được sử dụng nên sẽ tạo không ít khó khăn nếu không quen. Nếu không có nhu cầu cao cho cronjob muốn thực hiện thì đơn giản lắm. Mình xin chia sẻ 1 task của mình vừa thực hiện.

Cronjob là việc phép thực hiện các tác vụ một cách tự động theo định kỳ, ở chế độ nền của hệ thống.

Task của mình có yêu cầu là gửi mail cho một danh sách khách hàng. Mình có hosting web tuy nhiên đó là hosting lưu trữ web thông thường nên mình không chắc là có hỗ trợ tối đa để… spam mail. Hosting mình mua tiền cũng không ít nên sợ chạy code gửi mail hàng loạt kiểu này dễ bị suspend nên thôi quyết định sẽ chạy local. Mình sẽ code một trang để chạy các lệnh lấy danh sách email cần gửi từ trong database rồi gửi mail. Vì số lượng mail lớn nên mỗi khi chạy lệnh gửi mình chỉ lấy một số lượng danh sách vừa đủ để hệ thống không quá tải. Code xong giờ mình sẽ tạo một cronjob và mình sẽ code bằng… html và javascript.

Mình code như sau: Mình sẽ chèn 1 iframe tải trang web chứa các lệnh cần thực hiện ví dụ ở đây sẽ là http://localhost/cronjob/send-mail.php. Xong mình sẽ dùng lệnh setInterval() với một khoảng thời gian phù hợp để thực hiện thao tác tải lại nội dung trang iframe. Code cụ thể như sau:

Với đoạn mã ở trên thì cứ mỗi 40 giây thì nó sẽ tải lại nội dung trong iframe một lần. Bạn có thể thay giá trị thời gian với con số tính bằng milliseconds (mili giây). Ở đây mình có đặt thêm biến đếm là a để kiểm tra xem quá trình đã thực hiện được bao nhiêu lần (sau mỗi lần tải iframe sẽ tăng lên 1 đơn vị). Trong trường hợp cần truyền tham biến kiểu như số trang thì biến a cũng sẽ rất hữu dụng để bạn truyền vào.

Vậy là xong giờ bạn chỉ cần mở tập tin html này trên trình duyệt rồi để đó rồi làm việc gì làm.

Huỳnh Mai Anh Kiệt

Huỳnh Mai Anh Kiệthttps://www.mangbinhdinh.vn
Anh là một người đam mê công nghệ. Hiện tại anh là một lập trình viên tại Quy Nhơn.

3 BÌNH LUẬN

  1. – cron job nó đặt lịch chạy trên server 1 công việc mà không online trển clien
    – Nếu làm như bạn thay cho viêc f5 lại thôi vậy thì làm cái hàm php send email ở file index rồi chèn thẻ meta refresh 5s 1 lần h
    hoặc 5s ajax gọi file send email là xong

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

- Advertisment -
Shopify

BÀI VIẾT MỚI

Shopify ra mắt trang web chính thức cho thị trường Việt Nam

Shopify là nền tảng thương mại điện tử cho phép dễ dàng tạo ra các trang web bán hàng online cho do doanh nghiệp...

Jeff Bezos sẽ rời vị trí CEO của Amazon

Theo một thông báo mới đây từ Amazon, Jeff Bezos, người sáng lập và là CEO của gã khổng lồ này trong gần 30...

Free Fire hợp tác cùng Sơn Tùng M-TP ra mắt dự án Skyler

Free Fire là tựa game bắn súng sinh tồn nổi tiếng bậc nhất trên nền tảng di động. Sau hơn 3 năm phát hành,...

Lấy một số ngẫu nhiên với Shopify Liquid

Shopify Liquid rất hạn chế nên đôi khi có những yêu cầu tưởng chừng đơn giản nhưng lại không biết code như thế nào....

Hướng dẫn tạo ảnh hoạt hình từ ảnh thật với ToonMe

Bạn có tò mò muốn biết bản thân mình sẽ như thế nào khi trong vai một nhân vật hoạt hình không? Không cần...

BẠN XEM CHƯA

Nhật Bản hạn chế xuất khẩu một số vật liệu công nghệ sang Hàn Quốc

Ngày 01/07/2019 vừa qua Nhật Bản đã công bố các hạn chế thương mại, theo đó thì bắt đầu từ ngày 4 tháng 7,...

Hacker trộm $11000 từ ngân hàng và tặng cho lực lượng chống IS

Hacker mang tên Phineas Fisher tiết lộ trên Reddit hôm thứ tư rằng người này đã tấn công một ngân hàng để thực hiện...

Xử lý tính năng liệt kê thư mục (directory listing) với .htaccess

Khi truy cập vào một thư mục (trên nền web) mà không có tập tin index thì theo mặc định các tập tin có...

Hướng dẫn từng bước tạo email có tên miền riêng với Yandex

2 dịch vụ hỗ trợ người dùng tạo email với tên miền riêng của 2 ông lớn Google (https://apps.google.com) và Microsoft (http://domains.live.com) lần lượt...

Tắt tab bị treo trên Google Chrome

Nếu bạn thường dùng trình duyệt web Google Chrome và thường có thói quen mở nhiều tab cùng lúc thì có thể gặp phải...