Nếu tôi cần thực hiện các thao tác crontab thủ công hoặc tương tự từ PHP, tôi có thể sử dụng hàng đợi. Có một bảng cơ sở dữ liệu mà bạn thêm công việc vào. Một quá trình khác, hoặc từ một cron hoặc chạy như một daemon, thực hiện các công việc khi chúng xuất hiện.
Một cách khác để thực hiện việc này là thiết lập một tập lệnh riêng và thực hiện HTTP GET với nó. Nó không phải là khá luồng, nhưng nó là một cách để bắn phá một lệnh khác trong PHP. Ví dụ: nếu tôi muốn chạy /usr/bin/somescript.sh
theo yêu cầu, tôi sẽ có một somescript.php
đã thực hiện cuộc gọi hệ thống. Điều này sẽ được trên một máy chủ ảo chỉ có thể truy cập từ localhost.
Tôi sẽ thực hiện cuộc gọi socket tới máy chủ web và NHẬN kịch bản. Điều quan trọng là để không phải đọc trên ổ cắm để nó không chặn. Nếu tôi muốn kiểm tra giá trị trả về của somescript.php
, tôi sẽ thực hiện sau trong tập lệnh chính để ngăn chặn việc chặn.
Nếu somescript.php
mất nhiều thời gian để thực thi (dài hơn tập lệnh gọi), bạn sẽ phải thực hiện một số phép thuật để ngăn chặn apache khỏi giết tập lệnh khi đóng socket.
Nguồn
2009-02-26 16:03:19
chết tiệt Tôi muốn sử dụng nó trong webapp: ( – Thomaschaaf