Tôi đã thiết lập hàng đợi trong Laravel cho các kịch bản xử lý của mình. Tôi đang sử dụng beanstalkd và supervisord. Có 6 loại ống khác nhau cho các loại chế biến khác nhau.Hàng đợi Laravel Artisan - sử dụng CPU cao
Vấn đề là đối với mỗi ống, nghệ nhân liên tục sinh sản công nhân mỗi giây. Mã công nhân dường như ngủ trong 1 giây và sau đó chủ đề công nhân sử dụng CPU 7-15%, nhân này bằng 6 ống ... và tôi muốn có nhiều công nhân cho mỗi ống .. cpu của tôi đang được ăn lên.
Tôi đã thử thay đổi giấc ngủ 1 giây thành 10 giây. Điều này sẽ giúp nhưng vẫn có một tăng đột biến CPU lớn mỗi 10 giây khi công nhân thức dậy. Tôi thậm chí không xử lý bất cứ điều gì tại thời điểm này bởi vì hàng đợi là hoàn toàn trống rỗng, nó chỉ đơn giản là các công nhân đang tìm kiếm một cái gì đó để làm.
Tôi cũng đã thử nghiệm để xem việc sử dụng CPU của Laravel khi tôi làm mới trang trong một trình duyệt và đã lơ lửng khoảng 10% .. Tôi đang ở trên một phiên bản rackspace thấp ngay bây giờ để có thể giải thích nó nhưng vẫn .. Nó có vẻ như các công nhân quay lên một cá thể laravel mỗi khi họ thức dậy.
Không có cách nào để giải quyết vấn đề này? Tôi có phải bỏ nhiều tiền vào một máy chủ đắt tiền hơn để có thể nghe xem một công việc đã sẵn sàng chưa?
EDIT:
tìm thấy một giải pháp ... đó là để không sử dụng hàng đợi thợ thủ công: người nghe hoặc đợi: làm việc Tôi nhìn vào mã hàng đợi và có vẻ không phải là một con đường xung quanh vấn đề này , nó đòi hỏi laravel để tải mỗi khi một công nhân kiểm tra nhiều việc phải làm.
Thay vào đó tôi đã viết trình xử lý riêng của mình bằng cách sử dụng pheanstalk. Tôi vẫn đang sử dụng laravel để đẩy mọi thứ vào hàng đợi, sau đó trình xử lý tùy chỉnh của tôi phân tích dữ liệu hàng đợi và sau đó kích hoạt lệnh thủ công để chạy. Bây giờ thời gian sử dụng CPU của tôi cho người nghe của tôi là dưới% 0, thời gian duy nhất cpu của tôi bắn lên bây giờ là khi nó thực sự tìm thấy công việc để làm và sau đó kích hoạt lệnh, tôi tốt với điều đó.
Bạn có muốn chia sẻ mã của mình với người nghe tùy chỉnh không? Tôi đang gặp vấn đề tương tự. – greatwitenorth
Tôi cũng muốn xem người nghe tùy chỉnh của bạn! –
Tôi muốn xem giải pháp của bạn cũng như –