The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз языка программирования Go 1.8, opennews (??), 17-Фев-17, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


209. "Релиз языка программирования Go 1.8"  –1 +/
Сообщение от Аноним (-), 18-Фев-17, 20:41 
Опеннет превратился в ЛОР.

>HTTP Server Graceful Shutdown
>The HTTP Server now has support for graceful shutdown using the new Server.Shutdown method and abrupt shutdown using the new Server.Close method.

Изучай теперь, и не говори мне что выставление опции != FIN/FIN-ACK.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms7...

Могу тебе сразу ответить, что будет при Graceful Shutdown: опускается этап TIMEWAIT (кои составляет примерно 2 минуты и забивает список используемых сокетов). А ты знаешь к чему ведет graceful shutdown? Нет? Знаешь когда его можно юзать, а когда -- нет? Спорю, что не знаешь.

Всё. Прощай опеннет. Одно школье и нубасы кругом.

Ответить | Правка | Наверх | Cообщить модератору

211. "Релиз языка программирования Go 1.8"  –1 +/
Сообщение от angra (ok), 18-Фев-17, 20:59 
> Могу тебе сразу ответить, что будет при Graceful Shutdown: опускается этап TIMEWAIT

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

> Всё. Прощай опеннет. Одно школье и нубасы кругом.

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

Ответить | Правка | Наверх | Cообщить модератору

215. "Релиз языка программирования Go 1.8"  –2 +/
Сообщение от Аноним (-), 18-Фев-17, 21:12 
Ах да, мега чистильщик сообщений. Вот пруфы ЗА ТЕБЯ я дам. Как обычно. Ты же с ЛОРа, там пруфы не дают:

http://man7.org/linux/man-pages/man7/socket.7.html
       SO_LINGER
              Sets or gets the SO_LINGER option.  The argument is a linger
              structure.

                  struct linger {
                      int l_onoff;    /* linger active */
                      int l_linger;   /* how many seconds to linger for */
                  };

              When enabled, a close(2) or shutdown(2) will not return until
              all queued messages for the socket have been successfully sent
              or the linger timeout has been reached.  Otherwise, the call
              returns immediately and the closing is done in the background.
              When the socket is closed as part of exit(2), it always
              lingers in the background.

Ответить | Правка | Наверх | Cообщить модератору

218. "Релиз языка программирования Go 1.8"  +/
Сообщение от Аноним (-), 18-Фев-17, 21:35 
Офигеть терминология в гугле. И пруфы аналитиков просто сыпятся.

https://go.googlesource.com/go/+/53fc330e2d154443acf3d01e0d6...

+// Shutdown gracefully shuts down the server without interrupting any
+// active connections. Shutdown works by first closing all open
+// listeners, then closing all idle connections, and then waiting
+// indefinitely for connections to return to idle and then shut down.
+// If the provided context expires before the shutdown is complete,
+// then the context's error is returned.
+func (s *Server) Shutdown(ctx context.Context) error {
+    atomic.AddInt32(&s.inShutdown, 1)
+    defer atomic.AddInt32(&s.inShutdown, -1)
+
+    s.mu.Lock()
+    lnerr := s.closeListenersLocked()
+    s.closeDoneChanLocked()
+    s.mu.Unlock()
+
+    ticker := time.NewTicker(shutdownPollInterval)
+    defer ticker.Stop()
+    for {
+        if s.closeIdleConns() {
+            return lnerr
+        }
+        select {
+        case <-ctx.Done():
+            return ctx.Err()
+        case <-ticker.C:
+        }
+    }
+}
+

Ответить | Правка | К родителю #211 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру