там пользователей десятки тысяч возможны, да и просто нет никакой надобности самих пользователей разделять т.к. базы живут только во время запроса. человек пришёл на сайт, попробовал задачку и ушёл - зачем его пользователя создавать и хранить вечно?
ну и контейнеризация там для ограничения времени выполнения, памяти, доступа к файловой системе и сети (напомню там не только постгрес можно запускать)
ну да, все правильно говорите, пул "горячих" и есть
вопрос не в памяти или биллинге скорее имелся в виду, я думала что м.б. найденный мной вариант излишне мудрёный и существует возможность создавать что-то с меньшим количеством шагов или какой-то "другой вариант движка" как в mysql (но вроде не нашла с ходу такого)
ky0, извините но парадигмы не для того чтобы тупо им следовать. у меня почему-то не получается объяснить вам суть и реалии задачи. ничего рядом не запускается. приходит запрос от пользователя - запускается что-то одно. контейнер жестко ограничен по памяти как и любой подобный sandbox. и вообще много в чем ограничен. так должно быть. это sandbox, это не контейнер для бизнес-приложения в кубернетесе. есть виртуальный сервер и на нём сколько есть памяти - все занято однотипными контейнерами. делать разные контейнеры под разные исполняющие среды просто глупо т.к. они будут простаивать большую часть времени.
ky0, там выше сказано что контейнер не только для постгреса используется
пользователи решают задания на джаве, питоне, го и так далее, кроме постгреса. держать отдельные контейнеры настроенные каждый под своё неудобно и неэкономично. так что OOM сделать найдётся кому.
поэтому и держать сервер БД постоянно запущенным нет смысла
и речь не идёт о "значительно оптимально". база нужна для простых тестовых вещей типа таких что на собеседованиях встречаются.
нет, контейнер крутится один и тот же. он может иногда упасть и перезапуститься (может кто-то из юзеров OOM сделает например) - но в остальном необходимости перезапускать его нет (или точнее стремимся сделать так чтобы такой необходимости не было... хотя стартует он мгновенно почти, так что некритично тоже)
ещё точнее крутятся одновременно несколько таких контейнеров, т.е. если два пользователя одновременно выполняться пришли - они на разных контейнерах будут для упрощения изоляции
Everything_is_not_so_bad, ну если речь о задачах про динамические списки - наверное это не про скретч, да :) старшие школьники и студенты... разных курсов в зависимости от направления.
любопытно, никогда не слышала хотя фамилии знакомые отчасти, спасибо, посмотрю о чем там
машину тьюринга где-то когда-то реализовывала, наверное, как и многие в ходе какого-то упражнения - но для практических целей упомянутых это малопригодно
спасибо, но честно говоря сомневаюсь - Форт не очень сложен в реализации - зато использование создаст головняка. студентам ну и плюс нет какой-то прямолинейной возможности удобно внедрить высокоуровневые структуры (для упражнений на списках, хэшмэпах и т.п.)
думала аналогично в сторону Lisp / Scheme, даже какую-то простую реализацию стала набрасывать (вот где синтаксис-то примитивный) - но даже их обозвать юзер-френдли сложно
ну а как проверять что студент "не воспользовался"? либо лезть и смотреть в код, либо если 300+ студентов на потоке и у каждого по 5 заданий - это для проверки на глаз оверкилл - придётся писать какой-то синтаксический анализатор и проверять кто чем воспользовался. это не выглядит легче :)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.