Страница 1 из 2

Настройка MaxRetries и RetryTime

Добавлено: 06 фев 2017, 11:44
P.Ilya
Подскажите, имеется следующее странное поведение Asterisk 11.6
Создается .call файл с след параметрами
MaxRetries:0
RetryTime: 300
Фактически - дефолт.
Ожидаемое поведение - при неудачной попытке вызова .call файл сразу удаляется.
Причина таких ожиданий:
MaxRetries: <number> Number of retries before failing (not including the initial attempt, e.g. 0 = total of 1 attempt to make the call).
То есть фейлится и стирается.
Реальное поведение - время исполнения файла переносится на 300 секунд вперед, появляется строка StartRetry: 10 1 (1486370005)
Через 300 секунд файл удаляется. Поведение хреновое, нужно что бы файл удалился сразу.
Попробовал поставить RetryTime в 1, что бы оно через секунду потерлось, но оно вместо этого начало генерировать такое
StartRetry: 10 1 (1486370229)
DelayedRetry: 10 0 (1486370229)
DelayedRetry: 10 0 (1486370230)
DelayedRetry: 10 0 (1486370231)
DelayedRetry: 10 0 (1486370232)

Какими параметрами можно это поведение настроить?

Re: Настройка MaxRetries и RetryTime

Добавлено: 06 фев 2017, 12:07
ded
Подскажите детальней - как создаёте файл?

Re: Настройка MaxRetries и RetryTime

Добавлено: 06 фев 2017, 12:08
P.Ilya
Генерируется в отдельной директории, потом touch на время исполнения + rename

Re: Настройка MaxRetries и RetryTime

Добавлено: 06 фев 2017, 13:03
ded
Лучше делайте перемещением сгенерированного файла
mv /tmp/callfile.name.call /var/spool/asterisk/outgoing/
ровно в то время, когда надо его исполнить.

Re: Настройка MaxRetries и RetryTime

Добавлено: 06 фев 2017, 13:40
virus_net
и совсем хорошо когда перемещение (переименование) будет происходить в том же разделе
mv /var/spool/asterisk/tmp/callfile.name.call /var/spool/asterisk/outgoing/
а иначе можете наступить на грабли, на которые наступил я в свое время

Re: Настройка MaxRetries и RetryTime

Добавлено: 07 фев 2017, 10:48
P.Ilya
ded писал(а):Лучше делайте перемещением сгенерированного файла
mv /tmp/callfile.name.call /var/spool/asterisk/outgoing/
ровно в то время, когда надо его исполнить.
Попробовал. Часть файлов все равно фейлится и ставится на будущее. ПРи этом они все равно потом просто стираются.
virus_net писал(а):и совсем хорошо когда перемещение (переименование) будет происходить в том же разделе
mv /var/spool/asterisk/tmp/callfile.name.call /var/spool/asterisk/outgoing/
а иначе можете наступить на грабли, на которые наступил я в свое время
Я, кстати, тоже видел эту проблему, решается выставлением блокировки при записи файла. Сразу пропали такие проблемы.

Re: Настройка MaxRetries и RetryTime

Добавлено: 07 фев 2017, 11:23
zzuz
Чтобы файл удалился сразу и не ставился в будущее помогает AMI .

Re: Настройка MaxRetries и RetryTime

Добавлено: 07 фев 2017, 11:59
P.Ilya
На f повесить удаление файла звонка предлагаете?

Re: Настройка MaxRetries и RetryTime

Добавлено: 07 фев 2017, 12:02
ded
Если часть файлов все равно фейлится и ставится на будущее, то проблема в генерации самих файлов, точнее - в time stamp при генерации.

Re: Настройка MaxRetries и RetryTime

Добавлено: 07 фев 2017, 12:24
P.Ilya
А что конкретно не так с timestamp? Если timestamp<=time() тогда rename файла. Посколько это переименование, файл не копируется, он не битый и не уполовиненный.