Commit ed530229af9df3de929300145e9baab4cf5674ae

Authored by Adhidarma Hadiwinoto
1 parent 642c1cd1d0
Exists in master

getHealthyPartners

Showing 1 changed file with 21 additions and 2 deletions Side-by-side Diff

... ... @@ -521,7 +521,7 @@ function onOnline() {
521 521 logger.warn('Exception on resuming aaa module: ' + e);
522 522 }
523 523  
524   - _initProbe();
  524 + _initProbe();
525 525 }
526 526  
527 527 function onPM(from, msg) {
... ... @@ -691,6 +691,25 @@ function getOnlinePartners(partners) {
691 691 return onlinePartners;
692 692 }
693 693  
  694 +function getHealthyPartners(partners) {
  695 +
  696 + if (!imAdaptor.isPartnerHealthy) {
  697 + logger.verbose('partnerIm.getHealthyPartners: imAdaptor does not have isPartnerHealthy method, use isPartnerOnline');
  698 + return isPartnerOnline(partners);
  699 + }
  700 +
  701 + var filteredPartners = [];
  702 +
  703 + var partnersCount = partners.length;
  704 + for (var i=0; i<partnersCount; i++) {
  705 + if (imAdaptor.isPartnerHealthy(partners[i])) {
  706 + filteredPartners.push(partners[i]);
  707 + }
  708 + }
  709 +
  710 + return filteredPartners;
  711 +}
  712 +
694 713  
695 714 function getRandomPartnerId(forceOnlyHealthPartners) {
696 715 var _partners = getPartnersFromString(config.h2h_out.partner);
... ... @@ -698,7 +717,7 @@ function getRandomPartnerId(forceOnlyHealthPartners) {
698 717 // tambah partner ke friend list, untuk menangani perubahan config
699 718 addAllPartnersToFriendList(_partners);
700 719  
701   - var partners = getOnlinePartners(_partners);
  720 + var partners = getHealthyPartners(_partners);
702 721  
703 722 if (!partners.length) {
704 723