+1
Отвечен

Списание Абон-платы 2-жды в сутки

Султан Ибрагимов 3 года назад обновлен mikbill (CEO) 2 года назад 20

Вопрос вот какой - у нас списание ежедневные абон платы - и вместо того чтобы списалось в 00-00       - оно раскинуто от 23-57   (возможно время на сервере надо поправить)   и до 00-41   а то и 45 минут первого

и было уже несколько таких инцидентов

А именно:  

Заблокированный абонент оплачивает из за соображения чтоб плату - списание с нового дня начать - к примеру в 00-10  .....  Тут списалась в это время за текущий день -    И чуть позже в 00-41   списалось снова
уже системой списания
т.е. первое списание как при Активации - за текущий день - и через минут 30  за текущий же день в порядке очереди




Тут наверное сразу 2 вопроса:  Это так и должно быть? такой большой интервал времени на списание абон платы - 40-50 минут. Если бы списания шли максимум минут 5 - то это бы происходило в 1 случай из 1000.  (к примеру в последние 3-4 дня - 3 случая у нас таких)


   И второй - как исключить двойные списания.

даже не представляю как вы такого добились

списание вроде по крону скриптом mikbill_day

разве что этот скрипт у вас не оригинальный, а уже исправленный под какие- то свои нужды

/var/www/mikbill/sys/scripts/mikbill_day.sh в студию

#!/bin/bash

cd /var/www/mikbill/admin
#for BSD
#cd /usr/local/www/mikbill/admin

php ./index.php do_freeze
php ./index.php do_unfreeze
php ./index.php do_freeze_abonplata

php ./index.php pay_day
php ./index.php pay_day_monthly
php ./index.php pay_day2
php ./index.php pay_real
php ./index.php pay_credit
#php ./index.php rating
#php ./index.php traf_convert_hour
php ./index.php clear_dhcp_log
php ./index.php do_usluga_block
php ./index.php credit_null

php ./index.php otkl_neplat
php ./index.php del_otkl
php ./index.php clear_real_ip
php ./index.php discard_thousandths_of_users_balance

Попробуйте с включенным параметром "Только один онлайн"



У нас так и есть с первого дня работы биллинга!

Это не про то что я выше выложил скрин (состав крона)?

Я бы проверил планировщик.

Надо воспроизвести весь процесс, а после пополнения, посмотреть базу планировщика, не снимет ли за что-то еще АП.


Ищется ответ

проверте 

/etc/crontab

и содержимое 

/etc/cron.d


помоему ответ будет вам найден в процессе проверке.

Султан, а можно историю по этому абоненту за месяц?

5-06 - 7-07


Мне кажется, что в истории платежей этого абонента мы и найдем зацепку, а там и решение вопроса.

Тут для начала крон надо увидеть...

сто пудов в cron.d дублируются те же действия что и в crontab

Товарищи капитаны, ничего не дублируется. Во всяком случае, в самих конфигах крона дублей нет.



[root@lk log]# zcat cron-20170625.gz |grep Jun |grep mikbill_day

Jun 18 23:58:01 lk CROND[44689]: (root) CMD (/var/www/mikbill/admin/sys/scripts/mikbill_day.sh)
Jun 19 23:58:01 lk CROND[51490]: (root) CMD (/var/www/mikbill/admin/sys/scripts/mikbill_day.sh)
Jun 20 23:58:01 lk CROND[59207]: (root) CMD (/var/www/mikbill/admin/sys/scripts/mikbill_day.sh)
Jun 21 23:58:01 lk CROND[3249]: (root) CMD (/var/www/mikbill/admin/sys/scripts/mikbill_day.sh)
Jun 22 23:58:01 lk CROND[9606]: (root) CMD (/var/www/mikbill/admin/sys/scripts/mikbill_day.sh)
Jun 23 23:58:01 lk CROND[17850]: (root) CMD (/var/www/mikbill/admin/sys/scripts/mikbill_day.sh)
Jun 24 23:58:01 lk CROND[28536]: (root) CMD (/var/www/mikbill/admin/sys/scripts/mikbill_day.sh)


А вот выполняется неприлично долго, судя по логам абонента.

Начиная с 15.06, у этого абона АП снимается не в 23.58 или 0.01, а в 0.40



откуда выросло это смещение - ума не приложу.

Кроме пятиминутного скрипта, в кроне ничего связанного с MikBiLL

Ближайшее к этому времени выполнение снятия АП - 23.58

Вот такой интересный артефакт.


Время сервера и mysql корректное.


[root@lk log]# date
Fri Jul  7 10:26:59 MSK 2017

MariaDB [(none)]> select now();
+---------------------+
| now()               |
+---------------------+
| 2017-07-07 10:27:19 |
+---------------------+
1 row in set (0.00 sec)



Тем временем инциденты продолжаются....  Я уже не знаю как абонентам сказать.... Оплачивайте после часа ночи?  Так как и в 40 минут первого и ПОЗДНЕЕ у некоторых происходит списания - и почти каждый день звонки в Техподдержку - почему у меня денег не хватило.... (прикладываю скрин)

cat /etc/cron.d/mikbill-cron

[root@lk ~]# cat /etc/cron.d/mikbill-cron
cat: /etc/cron.d/mikbill-cron: No such file or directory
[root@lk ~]#

Судя по логам во время снятия абонплаты происходит синхронизация с IPTV-порталом. Думаю, что она затормаживает снятие абонки.

Сервис поддержки клиентов работает на платформе UserEcho