Проблема с rpcf_get_users_list

Технические вопросы по UTM 5.0
Ответить
Аватара пользователя
Voronok
Сообщения: 116
Зарегистрирован: Пт мар 14, 2008 19:21

Проблема с rpcf_get_users_list

Сообщение Voronok »

Блин, весь мозг себе уже сломал. Кто знает, что это за прикол? Обратите внимание на значения from, to и user_id.

Код: Выделить всё

/netup/utm5/bin/utm5_urfaclient -a get_users_list -from 12122 -to 12123
 Notice: Jun 21 15:01:36 UTM5 Config: Processing config file: /netup/utm5/utm5_urfaclient.cfg
Processing action: get_users_list
<?xml version="1.0"?>
<urfa>
  <session key="9032c4518287109c9b0cad554c8c5615"/>
  <call function="rpcf_get_users_list">
    <output>
      <integer name="cnt" value="1"/>
      <array name="i">
        <item>
          <integer name="user_id_array" value="12133"/>
          <string name="login_array" value="okt_4_85"/>
          <integer name="basic_account" value="12133"/>
          <string name="full_name" value="&#x410;&#x43D;&#x434;&#x440;&#x435;&#x435;&#x432;&#x430;"/>
          <integer name="is_blocked" value="0"/>
          <double name="balance" value="116.406"/>
          <integer name="ip_adr_size" value="0"/>
          <array name="j"/>
          <integer name="user_int_status" value="1"/>
        </item>
      </array>
    </output>
  </call>
</urfa>
Но при этом, с меньшими значениями id работает нормально:

Код: Выделить всё

/netup/utm5/bin/utm5_urfaclient -a get_users_list -from 1212 -to 1213
 Notice&#58; Jun 21 15&#58;07&#58;43 UTM5 Config&#58; Processing config file&#58; /netup/utm5/utm5_urfaclient.cfg
Processing action&#58; get_users_list
<?xml version="1.0"?>
<urfa>
  <session key="0034c451820d8abca102658049376665"/>
  <call function="rpcf_get_users_list">
    <output>
      <integer name="cnt" value="1"/>
      <array name="i">
        <item>
          <integer name="user_id_array" value="1213"/>
          <string name="login_array" value="par_3_37"/>
          <integer name="basic_account" value="1213"/>
          <string name="full_name" value="&#x425;&#x430;&#x440;&#x43B;&#x430;&#x43C;&#x43E;&#x432;&#x430;"/>
          <integer name="is_blocked" value="0"/>
          <double name="balance" value="39.375"/>
          <integer name="ip_adr_size" value="0"/>
          <array name="j"/>
          <integer name="user_int_status" value="1"/>
        </item>
      </array>
    </output>
  </call>
</urfa>
Все указанные абоненты существуют и работают.
Последний раз редактировалось Voronok Пт июн 21, 2013 15:00, всего редактировалось 1 раз.

Аватара пользователя
Voronok
Сообщения: 116
Зарегистрирован: Пт мар 14, 2008 19:21

Сообщение Voronok »

Вообщем, выяснил, что пограничное значение 4274. Начиная с 4275 начинает выдавать id на 1 больше, чем нужно. И с увеличением номера id разбег тоже увеличивается.

Код: Выделить всё

/netup/utm5/bin/utm5_urfaclient -a get_users_list -from 4273 -to 4274
 Notice&#58; Jun 21 15&#58;49&#58;58 UTM5 Config&#58; Processing config file&#58; /netup/utm5/utm5_urfaclient.cfg
Processing action&#58; get_users_list
<?xml version="1.0"?>
<urfa>
  <session key="e63dc4516b36422701dfb4746fa62ce7"/>
  <call function="rpcf_get_users_list">
    <output>
      <integer name="cnt" value="1"/>
      <array name="i">
        <item>
          <integer name="user_id_array" value="4274"/>
          <string name="login_array" value="mir_36_52"/>
          <integer name="basic_account" value="4274"/>
          <string name="full_name" value="&#x424;&#x438;&#x43B;&#x430;&#x442;&#x43E;&#x432;"/>
          <integer name="is_blocked" value="0"/>
          <double name="balance" value="279.375"/>
          <integer name="ip_adr_size" value="0"/>
          <array name="j"/>
          <integer name="user_int_status" value="1"/>
        </item>
      </array>
    </output>
  </call>
</urfa>

Код: Выделить всё

 /netup/utm5/bin/utm5_urfaclient -a get_users_list -from 4274 -to 4275
 Notice&#58; Jun 21 15&#58;49&#58;49 UTM5 Config&#58; Processing config file&#58; /netup/utm5/utm5_urfaclient.cfg
Processing action&#58; get_users_list
<?xml version="1.0"?>
<urfa>
  <session key="dd3dc451e430bdc232808c0a02dd8b43"/>
  <call function="rpcf_get_users_list">
    <output>
      <integer name="cnt" value="1"/>
      <array name="i">
        <item>
          <integer name="user_id_array" value="4276"/>
          <string name="login_array" value="okt_4_29"/>
          <integer name="basic_account" value="4276"/>
          <string name="full_name" value="&#x411;&#x435;&#x43B;&#x438;&#x43A;"/>
          <integer name="is_blocked" value="0"/>
          <double name="balance" value="159.375"/>
          <integer name="ip_adr_size" value="0"/>
          <array name="j"/>
          <integer name="user_int_status" value="1"/>
        </item>
      </array>
    </output>
  </call>
</urfa>
А вот абонента 4275 не существует. Тут уже что-то интересное вырисовывается.

Следующий удалённый абонент 7160.

Запрашиваю список от 7157 до 7158, получаю 7159. Всё правильно, смещение на 1 сохранилось.
Запрашиваю список от 7158 до 7159, получаю 7161. Вместо того, чтобы сообщить о том, что список пуст (т.к. абонент 7160 удалён), функция выводит мне следующего абонента. И тут разброс увеличивается ещё на 1. Теперь смещение на 2.
Запрашиваю список от 7159 до 7160, получаю 7162.
Запрашиваю от 7160 до 7161, получаю 7163.
Запрашиваю от 7161 до 7162, получаю 7164,

Код: Выделить всё

/netup/utm5/bin/utm5_urfaclient -a get_users_list -from 7157 -to 7158
 Notice&#58; Jun 21 16&#58;05&#58;02 UTM5 Config&#58; Processing config file&#58; /netup/utm5/utm5_urfaclient.cfg
Processing action&#58; get_users_list
<?xml version="1.0"?>
<urfa>
  <session key="6e41c451b12377b1db02619c00f85844"/>
  <call function="rpcf_get_users_list">
    <output>
      <integer name="cnt" value="1"/>
      <array name="i">
        <item>
          <integer name="user_id_array" value="7159"/>
          <string name="login_array" value="fru_1_226"/>
          <integer name="basic_account" value="7159"/>
          <string name="full_name" value="&#x414;&#x443;&#x431;&#x438;&#x43D;&#x438;&#x43D;&#x430; &#x410;&#x43D;&#x442;&#x43E;&#x43D;&#x438;&#x43D;&#x430; &#x41F;&#x435;&#x442;&#x440;&#x43E;&#x432;&#x43D;&#x430;"/>
          <integer name="is_blocked" value="0"/>
          <double name="balance" value="44.625"/>
          <integer name="ip_adr_size" value="0"/>
          <array name="j"/>
          <integer name="user_int_status" value="1"/>
        </item>
      </array>
    </output>
  </call>
</urfa>

Код: Выделить всё

/netup/utm5/bin/utm5_urfaclient -a get_users_list -from 7158 -to 7159
 Notice&#58; Jun 21 16&#58;05&#58;14 UTM5 Config&#58; Processing config file&#58; /netup/utm5/utm5_urfaclient.cfg
Processing action&#58; get_users_list
<?xml version="1.0"?>
<urfa>
  <session key="7a41c4518908f7c25c5d45bf267f3745"/>
  <call function="rpcf_get_users_list">
    <output>
      <integer name="cnt" value="1"/>
      <array name="i">
        <item>
          <integer name="user_id_array" value="7161"/>
          <string name="login_array" value="z_gag_56_47"/>
          <integer name="basic_account" value="7161"/>
          <string name="full_name" value="&#x421;&#x438;&#x440;&#x43E;&#x442;&#x438;&#x43D;&#x430;"/>
          <integer name="is_blocked" value="0"/>
          <double name="balance" value="0.625"/>
          <integer name="ip_adr_size" value="0"/>
          <array name="j"/>
          <integer name="user_int_status" value="1"/>
        </item>
      </array>
    </output>
  </call>
</urfa>

Код: Выделить всё

/netup/utm5/bin/utm5_urfaclient -a get_users_list -from 7159 -to 7160
 Notice&#58; Jun 21 16&#58;07&#58;50 UTM5 Config&#58; Processing config file&#58; /netup/utm5/utm5_urfaclient.cfg
Processing action&#58; get_users_list
<?xml version="1.0"?>
<urfa>
  <session key="1742c4512519cbaa14ae9821a6b8b91d"/>
  <call function="rpcf_get_users_list">
    <output>
      <integer name="cnt" value="1"/>
      <array name="i">
        <item>
          <integer name="user_id_array" value="7162"/>
          <string name="login_array" value="z_mir_20a_49"/>
          <integer name="basic_account" value="7162"/>
          <string name="full_name" value="&#x41A;&#x443;&#x43B;&#x438;&#x43A;&#x43E;&#x432;&#x430;"/>
          <integer name="is_blocked" value="0"/>
          <double name="balance" value="0.375"/>
          <integer name="ip_adr_size" value="0"/>
          <array name="j"/>
          <integer name="user_int_status" value="1"/>
        </item>
      </array>
    </output>
  </call>
</urfa>

Код: Выделить всё

/netup/utm5/bin/utm5_urfaclient -a get_users_list -from 7160 -to 7161
 Notice&#58; Jun 21 16&#58;08&#58;28 UTM5 Config&#58; Processing config file&#58; /netup/utm5/utm5_urfaclient.cfg
Processing action&#58; get_users_list
<?xml version="1.0"?>
<urfa>
  <session key="3c42c451f7ff93ac828b78ea31d2138c"/>
  <call function="rpcf_get_users_list">
    <output>
      <integer name="cnt" value="1"/>
      <array name="i">
        <item>
          <integer name="user_id_array" value="7163"/>
          <string name="login_array" value="gag_57a_101"/>
          <integer name="basic_account" value="7163"/>
          <string name="full_name" value="&#x41A;&#x443;&#x440;&#x438;&#x43B;&#x435;&#x43D;&#x43A;&#x43E;"/>
          <integer name="is_blocked" value="16"/>
          <double name="balance" value="-80.25"/>
          <integer name="ip_adr_size" value="0"/>
          <array name="j"/>
          <integer name="user_int_status" value="0"/>
        </item>
      </array>
    </output>
  </call>
</urfa>

Код: Выделить всё

/netup/utm5/bin/utm5_urfaclient -a get_users_list -from 7161 -to 7162
 Notice&#58; Jun 21 16&#58;09&#58;14 UTM5 Config&#58; Processing config file&#58; /netup/utm5/utm5_urfaclient.cfg
Processing action&#58; get_users_list
<?xml version="1.0"?>
<urfa>
  <session key="6a42c451c5e446edd635a3ec9eaf1bbc"/>
  <call function="rpcf_get_users_list">
    <output>
      <integer name="cnt" value="1"/>
      <array name="i">
        <item>
          <integer name="user_id_array" value="7164"/>
          <string name="login_array" value="men_5_19"/>
          <integer name="basic_account" value="7164"/>
          <string name="full_name" value="&#x410;&#x43B;&#x435;&#x43A;&#x441;&#x435;&#x43D;&#x43A;&#x43E;"/>
          <integer name="is_blocked" value="0"/>
          <double name="balance" value="1187.34"/>
          <integer name="ip_adr_size" value="0"/>
          <array name="j"/>
          <integer name="user_int_status" value="1"/>
        </item>
      </array>
    </output>
  </call>
</urfa>
Уважаемые разработчики, судя по всему, это камень в Ваш огород. Похоже, что функция rpcf_get_users_list неккоректно работает, если есть удалённые из админки пользователи. В базе они есть с флагом is_deleted=1.

Аватара пользователя
Voronok
Сообщения: 116
Зарегистрирован: Пт мар 14, 2008 19:21

Сообщение Voronok »

Проблема есть на версии

Код: Выделить всё

Version&#58;5.2.1-008-update5-bsd8 Rev #12048
Проверьте, пожалуйста, кто-нибудь - на последней версии проблема сохранилась, есть ли смысл обновляться?

Код: Выделить всё

cat /netup/utm5/xml/get_users_list.xml
<?xml version="1.0"?>
<urfa>
    <parameter name="from"/>
    <parameter name="to"/>
    <call function="rpcf_get_users_list"/>
</urfa>

Аватара пользователя
Voronok
Сообщения: 116
Зарегистрирован: Пт мар 14, 2008 19:21

Сообщение Voronok »

И вопрос к гуру. Могут ли помочь какие-нибудь действия с базой? Может быть, индексация таблицы users или ещё что.

Аватара пользователя
Voronok
Сообщения: 116
Зарегистрирован: Пт мар 14, 2008 19:21

Сообщение Voronok »

И ёщё. Подскажите кто знает, как посмотреть какие запросы ядро посылает базе. В debug.log нет запросов от этой функции. Другие запросы есть.

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Voronok писал(а):И ёщё. Подскажите кто знает, как посмотреть какие запросы ядро посылает базе. В debug.log нет запросов от этой функции. Другие запросы есть.
Часть данных ядро загружает при старте и в дальнейшем к базе за ними не обращается.

Ответить