2013-09-11 3 views
0

В настоящее время у нас есть приложение, размещенное на экземпляре Azure VM.Временной интервал времени ожидания запроса Azure HTTP

Это приложение иногда обрабатывает длительные и неработающие HTTP-запросы. Это вызывает проблему, потому что Azure закроет все соединения, которые простаивают дольше, чем несколько минут.

Я видел несколько советов по настройке более низкой постоянной скорости TCP. Я пробовал setting the this rate to around 45 seconds, но мои HTTP-запросы все еще закрыты.

Любые предложения? На нашей виртуальной машине работает Server 2008 R2.

+0

, что это ссылка на «Azure закрывают все соединения, которые были простаивают дольше, чем на несколько минут.» ? – Dorin

+1

@dorin http://blogs.msdn.com/b/cie/archive/2014/02/14/connection-timeout-for-windows-azure-cloud-service-roles-web-worker.aspx – icelava

ответ

2

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

Пример:

set_time_limit(60 * 30); 
ini_set("zlib.output_compression", 0); 
ini_set("implicit_flush", 1); 

function flushBuffers() 
{ 
    @ob_end_flush(); 
    @ob_flush(); 
    @flush(); 
    @ob_start(); 
} 

function azureWorkaround($char = "\n") 
{ 
    echo $char; 
    flushBuffers(); 
} 

$html = ''; 
$employees = getEmployees(); 
foreach($employee in $employees) { 
    html .= getReportHtmlForEmployee($employee); 
    azureWorkaround(); 
} 

echo $html; 
+0

Можете ли вы предоставить некоторый код, чтобы показать, как вы это сделали? –

+0

Обновлен с примерами. – jbq

1

Лазурное Load Balancer теперь поддерживает конфигурируемые TCP тайм-аут простоя для облачных сервисов и виртуальных машин. Эта функция может быть настроена с использованием API управления сервисами, PowerShell или модели обслуживания.

Для получения дополнительной информации смотрите объявление на http://azure.microsoft.com/blog/2014/08/14/new-configurable-idle-timeout-for-azure-load-balancer/

+0

Как найти, где мой 'wcf' размещен в лазуре? (Облачные службы или виртуальные машины) – ManirajSS

+0

Могу ли я настроить тайм-аут tcp idle для сервисов приложений (я размещал wcf внутри своего webapp, который использует службы приложений)? – ManirajSS

Смежные вопросы