
Serg Podtynnyi
24.08.2016
18:14:32
ну дев не страшно, если стейдж нормальный

Andrey
24.08.2016
18:14:41
@TurnaviotovNikolay угу, так и делаем теперь

Nikolay
24.08.2016
18:14:51
прощще тестить и сапортиь

Serg Podtynnyi
24.08.2016
18:14:59
у меня для uid свое решение

Google

Nikolay
24.08.2016
18:15:04
кто б за меня вьюшку наговнячил %)

Serg Podtynnyi
24.08.2016
18:15:26
module WithUUID
def self.generate
uuid = SecureRandom.uuid.delete('-')
Base58.encode uuid.hex
end
end

Nikolay
24.08.2016
18:15:33
нопейсать штоле свой скаффолдер

Serg Podtynnyi
24.08.2016
18:15:46
Base58 очень мне нравится

Nikolay
24.08.2016
18:16:31
меня смущает шо например паблик_активити гем ищщщет интегер, а не уиды, и изза этого фейлится
и афтар на него забил судя по какомто коменту в багтрекере

Andrey
24.08.2016
18:16:46
@TurnaviotovNikolay мне кажется чуваки предлагающие вакансию за 100р/час этим же желанием руководствовались

Nikolay
24.08.2016
18:17:24

v
24.08.2016
18:17:42

Nikolay
24.08.2016
18:18:10
у меня основная работа хостмастер на хостинге, панелька - для второго хостинга что я сапорчу + пункт в резюме
и начиная с весны я ебошу рельсы
блин. реально чтоли скафолдер наговнячить %)
вчера после пива продуктивность была адова.

Google

Andrey
24.08.2016
18:21:37
у меня обычно все наоборот

Nikolay
24.08.2016
18:23:47
у меня есть пару забавных эффектов - один из которых - после поллитровича меня с часик тупит, потом адов работун
я за вчера прописал 30 полей в модели, и перехерачил индексную вьюшку к ней
а сегодня show из индекса напилил. а вот с редактированием надо накорябать шкафолдер

Serg Podtynnyi
24.08.2016
18:36:57
Зачем если есть актив админ

Mikhail
24.08.2016
18:37:23
хах
сколько я людей знаю, у кого гемор с АА и не одного кто рад

Nikolay
24.08.2016
18:39:24
я на него посмотрел, потыкал и отложил в ящик напотомможетбыть
у меня например разделение овнера, реселера и кастомера исключительно скоупами получаемых обьектов
вьюшки для всех одинаковы, разве что овнер имеет более длинное меню бургера
ну и список опций во вьющшках полисями пундита отличается, да
ибо в почти во всех панелях шо я видел сапорту чтобы обьяснить клиенту чо где делать надо логиниться под клиентом
ибо у сапорта и у клиента вьюшки одинаковы нигде

Serg Podtynnyi
24.08.2016
18:46:49
У нас куча проектов на нем, экономит кучу времени

Nikolay
24.08.2016
18:49:20
кое где-да. а кое где - оно мешает

Alexander
25.08.2016
02:59:47
причем вагон ограничений, багов итд, но лезут
а то я всего пару раз пробовал, может надо еще раз.

Serg Podtynnyi
25.08.2016
04:59:57

Google

Nikolay
25.08.2016
06:32:45
Это попытка сделать жанговую дефолтную админку для рельсов. Но там она из коробки
А тут костыль сбоку, в рамках чего то внутреннего-плюс минус, в рамках выдать клиенту - я сомневаюсь:(

Serg Podtynnyi
25.08.2016
06:40:45
Нет, отличная админка, которая еще кастомизится как угодно
Не нравится arbe можно все partial ми сделать

Nikolay
25.08.2016
06:44:23
Посмотрим, мне АА показалась сложной к внедрению ?

Mikhail
25.08.2016
08:26:31
Я не теряю время если круд. Копипаст и собрана админка
Аа не нужен
Рансак сажаю и нормально
Не помню кто из умников говорил что своя dsl в геме это плохо и не удобно
Боты вроде
Вот с ними солидарен
А админка есть administrate

Mikhail
25.08.2016
08:29:10
Больше нравится

v
25.08.2016
08:30:07


Andrey
25.08.2016
09:43:46
Все привет в этом чате!
Есть задача, входные данные: на сервере лежит куча мелких zip архивов(3-5 мб), по запросу пользователя, нужно сформировать один большой zip архив(100-150мб обычно), в котором будут лежать мелкие zip архивы, по определенной выборке.
Сейчас сделано быстро и тупо, пользователь переход по урлу, в методе контроллера создается большой zip архив и отдается пользователю через send_file t.path, type: 'application/zip', filename: "#{file_name}.zip"
Такое поведение плодит кучу больших архивов, и место на сервере стремится к нулю(
Вопрос, существуют ли какие нибудь best practices для таких задач. или как сразу после того как пользователь скачал большой архив, его удалить. Я не понимаю куда копать, чтобы точно знать что пользователь скачал архив, у него может быть разный интернет, и по таймауту удалят считаю плохой идеей( первое что пришло в голову

Mikhail
25.08.2016
09:48:01
повесь коллбек
after_action
и в нем находи архив и удаляй

Aldar
25.08.2016
09:48:56
то есть блокирующий код?

Google

Aldar
25.08.2016
09:49:33
Когда сервер собирает большой архив все же блокируется

Mikhail
25.08.2016
09:49:39
сендфайл не блокирует же
а архив собираться должен в бекграунде
если тяжелый

Andrey
25.08.2016
09:50:44
да, код блокирующий, очень плохое решение сейчас используется(

Mikhail
25.08.2016
09:51:07
короче сделай такую штуку. Сделай ТАСК и раз в день его запускай
и пусть он ходит и старые архивы чистит

Дима Д.
25.08.2016
09:51:42
ага и кто-нибудь за секунду то таска нажмет скачать

Andrey
25.08.2016
09:51:42
за день вполне может кончится место, не вариант(

Aldar
25.08.2016
09:52:00
Главное чтобы за день не закончилось место) И в момент запуска удаления не происходила отдача архива)

Admin
ERROR: S client not available

Дима Д.
25.08.2016
09:52:02
сформируется архив и сразу удалится

Mikhail
25.08.2016
09:52:10
хоспади
тонкая грань между джунами и не джунами в мышлении)

Aldar
25.08.2016
09:53:17
У меня в голове возникло костыльное решение, создать две папки tmp1, tmp2, чередовать их использование через промежуток времени час например

Mikhail
25.08.2016
09:53:35
файл кладется в папку с текущей датой
таск удаляет папку, где дата и время больше 24 часов
ну или 6 например
150 мегабайт на очень плохом интернете это сколько часов ?

Google

Mikhail
25.08.2016
09:54:55
1-2 будет качать

Aldar
25.08.2016
09:55:17
на ноде кстати такая задача элементарно решалась бы
просто по событию окончания стрима удалять файл

Mikhail
25.08.2016
09:56:18
Короче просто файлы формируй в папки по текущему времени. И заведи таск раз в час например. И пусть он проверяет папки и удаляет те, где время давности больше 5-6 часов например. Нормально будет работать

Andrey
25.08.2016
09:56:20
сейчас смотрю в сторону gzip, и стримом отдавать zip архив, возможно конечно херню думаю, но вроде норм должно быть

Mikhail
25.08.2016
09:56:45
да у тебя все и так норм
работы на 15 минут чтобы доделать

Andrey
25.08.2016
09:57:31
хранить большие архивы вообще нельзя, т.к. мелкие постоянно изменяются, их изменяет сайдкиковый воркер
ну т.е. придется еще проверять дату изменения всех вложенных архивов с актуальным архивами, а это в большинстве случаем ведет к пересозданию большого архива

Дима Д.
25.08.2016
09:59:44
а если стримом отдавать с таймаутом не будет соединение обрываться?

Andrey
25.08.2016
10:00:15
вроде от настроек nginx зависит, точно не знаю

Mikhail
25.08.2016
10:00:19
оно и так не будет обрываться

Aldar
25.08.2016
10:00:59
Проблема в основном с местом, или со скоростью ответа из-за постоянного пересоздания архивов?

Andrey
25.08.2016
10:01:26
с местом

Антон
25.08.2016
10:01:37
класть архивы на s3
в апп сервере хранить архивы в любом случае плохая идея

Andrey
25.08.2016
10:02:01
гос проект, данные пользователей, хранить только в россии(

Дима Д.
25.08.2016
10:02:30
селектел в россии жеж

Andrey
25.08.2016
10:02:41
пойду гляну)

Aldar
25.08.2016
10:02:47
Разве нельзя никак узнать когда архив закачался пользователю?
И удалить в этот момент

Andrey
25.08.2016
10:03:08
вот, меня это тоже интересует
не могу найти как(