Tôi hiện đang sử dụng nhà cung cấp laravel-elasticsearch cho các truy vấn ES của tôi. Tôi đang sử dụng này từ bên trong một công việc được xử lý bởi hàng đợi laravel của tôi (sử dụng beanstalkd). Vấn đề tôi gặp phải là trong các công việc dài hạn, cuối cùng tôi không còn có thể chèn dữ liệu vào elasticsearch nữa. Công việc chỉ bị treo (không có ngoại lệ nào được ném ra) Tôi đã thu hẹp nó xuống mã mà tôi đang thực hiện cuộc gọi ES. Có thể kết nối của tôi có thể trở nên cũ và không kết nối lại được không? suy nghĩ khác của tôi là nó có liên quan đến việc sử dụng một mặt tiền và nó là một singleton.Truy vấn Tìm kiếm Đàn hồi bị treo trong hàng đợi công việc của laravel
đây là những gì tôi đang làm, đây không phải là mã chính xác của tôi. nhưng mã hoạt động tốt khi nó không chạy trong một công việc dài. Tôi chỉ muốn cung cấp một số context.it chèn tốt, không có vấn đề với mã hoạt động cho đến khi nó được chạy sau một quá trình chạy dài.
UPDATE:
tôi đã thu hẹp vấn đề xuống thư viện elasticsearch-php kiên trì một kết nối. Tôi có ES của tôi đằng sau một cân bằng tải mà lần ra các kết nối TCP sau 5 phút. vấn đề là không có gì còn sống trong thư viện ES php. sau 5 phút kết nối được đóng nhưng nó không đóng kết nối trên đầu của tôi. là có một cách để thiết lập một tiếp tục sống cho elasticsearch-php? hoặc cuộc gọi để đặt lại kết nối?
//run some functions....
$params = array();
$params['body'] = array('somefield' => 'some data');
$params['index'] = 'my_index';
$params['type'] = 'my_type';
$params['id'] = 'my_id';
$ret = Es::update($params);//this is working just fine
//long running function here
$newparams = array();
$newparams['body'] = array('somefield' => 'some data');
$newparams['index'] = 'my_index';
$newparams['type'] = 'my_type';
$newparams['id'] = 'my_id';
$return = Es::update($newparams);//this will just hang
có vẻ như vấn đề với công việc thất bại hơn là với ES.bạn đang xử lý công việc thất bại? –
Tôi đang xử lý các công việc thất bại, nhưng công việc không thất bại nó chỉ bị treo như thể đang cố gắng kết nối với ES mà không có thời gian chờ – arrowill12