Şu anda ES sorgularım için laravel-elasticsearch sağlayıcısını kullanıyorum. Bunu laravel kuyruğum tarafından işlenen bir işin içinde kullanıyorum (beanstalkd kullanarak). Sahip olduğum problem, uzun süren işlerde, artık elasticsearch'e veri ekleyemem. İş sadece kilitleniyor (istisna yok) Ben ES çağrısı yaptığım yere kadar daralttım. Bağlantımın nasıl yeniden bağlanıp tekrar bağlanmaması mümkün mü? Benim diğer düşüncem, bir Cephe ve bir tektonun kullanılmasıyla ilgili bir şey olması.ElasticSearch sorgusu laravel iş kuyruğunda kilitleniyor
Burada yaptığım şey, bu benim tam kodum değil. Ancak kod, uzun süre çalışan bir işte çalıştırılmadığında gayet iyi çalışıyor. Sadece bazı context.it eklentileri vermek istedim, uzun bir süreçten sonra çalıştırılana kadar kod işleyişinde herhangi bir sorun yok.
GÜNCELLEME:
Bir bağlantı devam eden elasticsearch-php kütüphaneye sorunu daraltmıştır. ES'leri, 5 dakika sonra TCP bağlantılarını zamanlayan bir yük dengeleyicisinin arkasında var. Sorun, ES php kütüphanesinde hayatta kalmanın olmamasıdır. 5 dakika sonra bağlantı kapatıldı ancak bağlantıyı sonda kapatmıyor. elasticsearch-php için canlı tutmanın bir yolu var mı? veya bağlantıyı sıfırlamak için bir çağrı?
//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
, ES'den ziyade iş başarısızlıkla ilgili bir soruna benziyor.başarısız işler mi yapıyorsunuz? –
Başarısız işlerle uğraşıyorum, ancak iş başarısız oluyor, yalnızca bir zaman aşımı olmadan ES'ye bağlanmaya çalışıyormuş gibi kilitleniyor – arrowill12