Size: a a a

Сrystal Lang — русскоговорящее сообщество

2021 September 28

E

Etki in Сrystal Lang — русскоговорящее сообщество
В олапе нет локов
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Это олап
источник

AP

Alexander Popov in Сrystal Lang — русскоговорящее сообщество
Хорошо, я именно это и писал, предлагаю закончить.
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Если это убедит, то у меня на работе не просто тысячи и миллионы пользователей, у меня миллион заказов в день
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Если уж с такой аргументацией проще
источник

KK

Karim Kiatlottiavi in Сrystal Lang — русскоговорящее сообщество
а что за change-on-push?
источник

KK

Karim Kiatlottiavi in Сrystal Lang — русскоговорящее сообщество
мне уже самому интересно стало почитать подробности
источник

AP

Alexander Popov in Сrystal Lang — русскоговорящее сообщество
Не сильно, если честно. Проекты разные, статистики разные, мощности и деньги (вливаемые в них) разные, подходы разные. Я просто не вижу смысла попробовать переубедить кого-то не пользоваться определённым подходом (кэшированием с TTL). Ваши аргументы, что вы не хотите плодить хранилища данных и вам более приятна консистентность данных, нежели TTL, понятны. Надеюсь, вы случаи, когда консистентность неважна или нужно именно время, а не событие, тоже поняли. Если нет — дело ваше, может, когда-нибудь столкнётесь, а может и нет.
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Я не вспомню уже видимо конкретное название, но помню что и тогда между результатами push/pull model найти нужное было сложно. Кажется, конкретный термин был то ли за авторством фейсбука, то ли его обсуждали в разрезе того как он хранит друзей.
Сам концепт тупой и примитивный дальше некуда. Вместо того чтобы делать джойны при чтении - при сохранении обновлять не только нормализованные данные, но и проекции, в которых хранится результат этих джойнов, чтобы в результате делать одну простую выборку в одном источнике данных. В широком смысле мы говорим про самый что ни на есть обычный materialized view, только а) работа с проекциями на стороне приложения позволяет более гибкую работу, в том числе с разъединенными источниками и б) полноценной замены агрегаций нет, поэтому функционал не абсолютно идентичен, но как правило взгляд под другим углом позволяет получить желаемый результат.
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Вы будете смеяться, но собрать сущность из разных мест и засунуть ее в редис при апдейте одного из источников будет вариацией этого подхода. Кэш с восстановлением при миссе впрочем уже не будет ей являться.
источник
2021 September 29

ВВ

Ваня Ваня in Сrystal Lang — русскоговорящее сообщество
Из crystal api убрали документацию по тредам? Чет не могу найти класс Thread. Помню в какой-то версии он был
источник

AP

Alexander Popov in Сrystal Lang — русскоговорящее сообщество
источник

ВВ

Ваня Ваня in Сrystal Lang — русскоговорящее сообщество
А делать таймер на файберах это норм затея?) Просто файбер внутри которого loop, который раз в час просывается и обновляет некоторые данные, а потом опять на час спать.
источник

AP

Alexander Popov in Сrystal Lang — русскоговорящее сообщество
Мне кажется, да.
источник

ВВ

Ваня Ваня in Сrystal Lang — русскоговорящее сообщество
благодарю)
источник

AP

Alexander Popov in Сrystal Lang — русскоговорящее сообщество
У меня схожий опыт с Delphi, не имею специфического опыта с Crystal, но рискнул ответить.
источник

DV

Dmitriy Vishnevskiy in Сrystal Lang — русскоговорящее сообщество
Если раз в час, думаю, cron подойдёт лучше
источник

AB

Alexander B🔮 in Сrystal Lang — русскоговорящее сообщество
А че schedule не используешь библиотеку?
источник

AB

Alexander B🔮 in Сrystal Lang — русскоговорящее сообщество
источник

ВВ

Ваня Ваня in Сrystal Lang — русскоговорящее сообщество
даже не слышал про такую либу)
источник