Tôi có một công việc cron thực hiện một tập lệnh PHP. Cron được thiết lập để chạy mỗi phút, điều này được thực hiện chỉ cho mục đích thử nghiệm. Tập lệnh PHP mà nó đang thực thi được thiết kế để chuyển đổi các video được người dùng tải lên máy chủ sang định dạng flash (ví dụ ... .flv). Kịch bản thực hiện tốt khi tự làm nó thông qua dòng lệnh, tuy nhiên khi thực hiện thông qua cron nó bắt đầu tốt nhưng sau một phút nó chỉ dừng lại.Công việc cron có thực hiện việc hủy cron cuối cùng không?
Dường như khi cron tiếp theo được thực thi, nó sẽ "giết" cron thực thi cuối cùng. tôi đã thêm chức năng PHP sau:
ignore_user_abort(true);
Trong hy vọng rằng nó sẽ không hủy bỏ việc thực hiện cuối cùng, tôi được thử nghiệm thiết lập cron để chạy mỗi 5 phút, trong đó hoạt động tốt, tuy nhiên một chuyển đổi video có thể mất hơn 5 phút vì vậy tôi cần phải tìm ra lý do tại sao nó dừng lại khi một cron khác được thực hiện.
Mọi trợ giúp sẽ được đánh giá cao.
Cảm ơn bạn!
EDIT: cron của tôi trông giống như:
*/1 * * * * php /path_to_file/convert.php
Bạn đã kiểm tra nhật ký lỗi PHP chưa? Bạn đã sử dụng set_time_limit để đặt giới hạn thời gian thành 0? –
Không có lỗi nào xảy ra, tôi cũng đặt giới hạn thời gian là 0. Tôi quên đề cập trước đó cron của tôi trông giống như:
Cảm ơn! –Dường như công việc định kỳ không ghi đè lên những gì đang làm việc cuối cùng, có một cái gì đó bị lỗi trong mã PHP. Tôi thêm một kiểm tra để chắc chắn rằng nó thoát, tuy nhiên thêm một tập tin khóa tạm thời mà Sander đã đề cập làm việc một cách hoàn hảo. Cảm ơn! –