Смена ТП по расписанию не работает
Смена ТП по расписанию не работает
В модуле Dv смена тарифного плана по расписанию не работает: смены не происходит, а сумма с депозита юзера списывается по цене текущего ТП. Кто сталкивался? Модуль Abon не включен, да и он по моему здесь ни при чем?
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69
У меня periodic daily вызывалась после periodic monthly поэтому некорректно работало. Автор предлагает daily запускать до monthly:А вот списывание деег было раньше так сказать по факту смены, тоже в периодик. Как сейчас - ХЗ.
но тогда получается, что юзеру меняется план, а деньги снимаются только спустя какое-то время (во время periodic monthly). Обычно хочется чтобы деньги снялись в одно время со сменой плана. Вот как я этого добился:1 0 * * * root /usr/abills/libexec/periodic daily
1 1 * * * root /usr/abills/libexec/periodic monthly
закомментировал строчку вызова sheduler из libexec/periodic, которая вызывалась при daily, и перенес вызов в Abills/modules/Dv/config
sheduler() уже сама вызывает dv_sheduler() из Abills/modules/Dv/webinterface, которая и меняет план, а снятие абонплаты и перенос даты активации на сегодняшний день происходит в dv_monthly_fees, поэтому важно, чтобы sheduler шла ДО dv_monthly_fees, как выше, а не ПОСЛЕ, как было до этого. Еще одно необходимое изменение: по какой-то известной только автору причине monthly функции вызываются в обратном порядке их перечисления. Маленькое изменение в libexec/periodic:%PERIODIC = (daily => [ 'dv_daily_fees', 'dv_users_warning_messages' ],
monthly => [ 'sheduler', 'dv_monthly_fees', 'dv_periodic_logrotate', ],
report => [ 'dv_report' ]);
т.е. убираем закомментированную строку и пишем вместо нее следующую.if (defined($args->{monthly})) {
#for(my $i=$#monthly_functions; $i>-1; $i--) {
for(my $i=0; $i < @monthly_functions; $i++) {
Теперь все работает.
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69