Tôi nghĩ rằng quan niệm của bạn cần phải thay đổi.
PHP không thể lên lịch công việc, MySQL cũng vậy. Các trình kích hoạt trong MySQL thực thi khi truy vấn mysql xảy ra, không phải tại một thời điểm cụ thể. Không
Hạn chế này thường không phải là vấn đề trong phát triển web. Lý do là vì ứng dụng PHP của bạn nên kiểm soát tất cả dữ liệu ra vào. Thông thường, điều này chỉ có nghĩa là HTML hiển thị dữ liệu đó hoặc các định dạng khác cho người dùng hoặc các chương trình khác.
Trong trường hợp của bạn, bạn có thể nghĩ về nó theo cách này. Hạn chót là một ngày đã định. Bạn có thể coi nó là dữ liệu và lưu nó vào cơ sở dữ liệu của mình. Khi thời hạn xảy ra không quan trọng, đó là dữ liệu bạn đã gửi trong cơ sở dữ liệu của mình được xem chính xác.
Khi một yêu cầu được gửi đến ứng dụng của bạn, hãy kiểm tra xem ngày của thời hạn cuối cùng có phải trong quá khứ hay không, nếu có, sau đó hiển thị rằng dự án đã đóng - hoặc cập nhật rằng dự án đã đóng, ngay trước khi hiển thị.
Thực sự không có lý do gì để cập nhật dữ liệu độc lập với ứng dụng PHP của bạn.
Thông thường, những thứ duy nhất bạn muốn lên lịch là những công việc có thể ảnh hưởng đến ứng dụng của bạn về mặt tải, hoặc chỉ cần thực hiện một lần, hoặc vấn đề thời gian hoặc đồng thời là một vấn đề.
Trong trường hợp của bạn, không cái nào áp dụng được.
PS:Tôi chưa thử PHPscheduler nhưng tôi có thể đoán nó không phải là một bộ lập lịch thực sự. Cron là một deamon ngủ cho đến khi một nhiệm vụ nhất định đến hạn trong hàng đợi của nó, thực thi nhiệm vụ, sau đó ngủ cho đến khi nhiệm vụ tiếp theo đến hạn (ít nhất đó là những gì nó làm trong thuật toán hiện tại). PHP không thể làm điều đó nếu không có các ổ cắm và phần mở rộng nhánh rẽ, như một thiết lập đặc biệt. Vì vậy, PHPscheduler rất có thể chỉ kiểm tra xem ngày cho một tác vụ đã hết hạn hay chưa, trên mỗi lần tải trang web (bất cứ khi nào PHP thực thi một trang). Điều này không khác gì khi bạn chỉ cần kiểm tra xem ngày trên dự án đã hết hạn hay chưa mà không cần PHPScheduler chi phí.