Можно ли просмотреть все активные подписки?

У меня есть несколько подписей, настроенных различными автозапусками. Было бы полезно для целей отладки иметь возможность просматривать, какие подписки активны в любой момент времени. Возможно ли это?

Ответы

Ответ 1

У вас нет идеи об "активных" подписках.

Но есть объект Meteor.default_connection._subscriptions, который хранит информацию обо всех подписках, которые были подписаны до данного времени.

    var subs = Meteor.default_connection._subscriptions; //all the subscriptions that have been subscribed.

    Object.keys(subs).forEach(function(key) {
        console.log(subs[key]);   // see them in console.
    });

Не то, что вы хотите.

Ответ 2

Как дополнение к вышесказанному, мы можем организовать их немного, чтобы упростить проверку нескольких подписей и т.д.

//all the subscriptions that have been subscribed.
var subs = Meteor.default_connection._subscriptions; 
var subSummary = {};

// organize them by name so that you can see multiple occurrences
Object.keys(subs).forEach(function(key) {
  var sub = subs[key];
  // you could filter out subs by the 'active' property if you need to
  if (subSummary[sub.name] && subSummary[sub.name].length>0) {
    subSummary[sub.name].push(sub);
  } else {
    subSummary[sub.name] = [sub];
  }
});
console.log(subSummary);

Обратите внимание, что вы можете видеть состояние "ready", а также параметры, используемые в подписке.