Size: a a a

2020 July 20

AS

Andrey S in Go-go!
RegisterFormat registers an image format for use by Decode.
источник

АД

Алексей Долгов... in Go-go!
A R
таки лучше картинки хранить просто в каталоге?
ну из моей практике была в mysql таблица из 40000 изображений, весила гигов 15. один лефт джойн и mysql сервер умирал. никому не желаю такого зла) файлы должны оставться файлами.
источник

AR

A R in Go-go!
Алексей Долгов
ну из моей практике была в mysql таблица из 40000 изображений, весила гигов 15. один лефт джойн и mysql сервер умирал. никому не желаю такого зла) файлы должны оставться файлами.
Спасибо за пояснение
источник

ВС

Владимир Столяров... in Go-go!
источник

DR

Dmitry R in Go-go!
я правильно понимаю, c.runAppWithRetry блокирует итерацию?

tick := time.Tick(time.Hour)
for range tick {
runForDate := date.StartOfCurrentHour()
c.runAppWithRetry(runForDate)
}
источник

AS

Alexander Shavelev in Go-go!
Dmitry R
я правильно понимаю, c.runAppWithRetry блокирует итерацию?

tick := time.Tick(time.Hour)
for range tick {
runForDate := date.StartOfCurrentHour()
c.runAppWithRetry(runForDate)
}
а что в вашем случае c.runAppWithRetry? это из gin?
источник

DR

Dmitry R in Go-go!
это просто функция, которая может долго выполняться, блокируя
источник

p

pragus in Go-go!
на самом деле они странные.  странные баги, странные ограничения
нет ребалансинга => нет возможности расширять кластер. если место кончилось, собирай новый кластер и пиши туда + софт свой учи работать с двумя корзинками.
источник

p

pragus in Go-go!
источник

AS

Alexander Shavelev in Go-go!
Dmitry R
это просто функция, которая может долго выполняться, блокируя
ну тогда это какое-то гадание на картах
источник

DR

Dmitry R in Go-go!
Alexander Shavelev
ну тогда это какое-то гадание на картах
func (c *App) runAppWithRetry(runForDate time.Time) {
err := c.runApp(runForDate)
if err != nil {
 tick := time.Tick(c.onFailRerunAfter)
 for range tick {
  err := c.runApp(runForDate)
  if err == nil {
   break
  }
 }
}
}
источник

DR

Dmitry R in Go-go!
типа эта функция может не выполниться (не вернуть) больше часа
источник

DR

Dmitry R in Go-go!
Dmitry R
я правильно понимаю, c.runAppWithRetry блокирует итерацию?

tick := time.Tick(time.Hour)
for range tick {
runForDate := date.StartOfCurrentHour()
c.runAppWithRetry(runForDate)
}
и вопрос: если она не вернет больше часа, то следующая "итерация" в первом куске кода не наступит?
источник

AS

Alexander Shavelev in Go-go!
Dmitry R
и вопрос: если она не вернет больше часа, то следующая "итерация" в первом куске кода не наступит?
если у вас не завершилась N итерация, то N+1 не начнется -- так что да
источник

DR

Dmitry R in Go-go!
спасибо
источник

AS

Andrey S in Go-go!
Alexander Shavelev
если у вас не завершилась N итерация, то N+1 не начнется -- так что да
начнется но позже просто
источник

AS

Alexander Shavelev in Go-go!
Andrey S
начнется но позже просто
я это и имел ввиду
источник

AS

Alexander Shavelev in Go-go!
Andrey S
начнется но позже просто
а все, я прочитал вопрос чувака
- и да мой ответ неоднозначен

но имел ввиду тоже самое
источник

AS

Andrey S in Go-go!
newticker возвращает буферизированный канал длиной 1 так что после блинной блокировки как минимум одно событие будет сразу прочитано
источник

AS

Andrey S in Go-go!
ну а дальше скорее всего там запись в селекте и более одного запоздалого вызова не будет
источник