EasyNetQ Подписаться не работает с TopShelf

, если у вас есть длинный код сервера на стороне сервера, я не думаю, что он попадает в 404, как вы сказали («он попадает на страницу с веб-страницей, не найденной»)

Браузер должен сообщить запрос

Вы можете сделать 2 вещи:

Исходя из времени ожидания увеличения количества движков CGI / Server

PHP: http: // www .php.net / manual / en / info.configuration.php # ini.max-execute-time - по умолчанию 30 секунд

В php.ini:

max_execution_time 60

Увеличьте время ожидания apache

http://httpd.apache.org/docs/2.0/mod/core.html#timeout - по умолчанию 300

В вашем httpd.conf (в конфигурации сервера или конфигурации vhost)

TimeOut 600

Обратите внимание, что первый параметр позволяет вашему скрипту PHP работать дольше, он не будет мешать сетевому таймауту .

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

Извините, я не уверен, что вы используете PHP в качестве обработки на стороне сервера, но если вы предоставите больше информации, я быть более точным.

1
задан crazy coding 27 February 2019 в 16:32
поделиться

1 ответ

Здесь:

using (var bus = EasyNetQ.RabbitHutch.CreateBus("host=localhost"))
{
    bus.Subscribe<Entity>("entity", Handler);
}

код удаляет соединение с EasyNetQ сразу после подписки, что приведет к отключению и прекращению подписки снова. Согласно документации EasyNetQ :

Стандартной практикой является создание одного экземпляра IBus на весь срок службы вашего приложения. Утилизируйте его, когда ваше приложение закрывается.

В этом случае вы, вероятно, захотите связать жизненный цикл шины EasyNetQ с сервисом, который запускается или останавливается через TopShelf. Итак:

private IBus bus;

public void Start()
{
    bus = EasyNetQ.RabbitHutch.CreateBus("host=localhost"));
    bus.Subscribe<Entity>("entity", Handler);
}

public void Stop()
{
    bus?.Dispose();
    bus = null;
}
0
ответ дан mountain traveller 27 February 2019 в 16:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: