powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Отдельный процесс
6 сообщений из 6, страница 1 из 1
Отдельный процесс
    #39482893
nurlybekovnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Разрабатываю тестирование студента. Дается ему определенное время, на клиенте с временем все решил(в базе хранится время начала тестирование, в OnPreHttp вычисляется оставшееся время, запускаю таймер на клиенте с вычисленным временем, если время заканчивается или студент нажал закончить, с клиента делается запрос серверу о time's left, в базу сохраняется конечное время, вычисляется баллы студента), но если пользователь запустил тест и вышел, не вернулся, сервер должен сам при time's left, зафиксировать время, вычислить баллы. Ответы студента во время тестирования на сервере сохраняются(angular), на счет них не переживайте )))
...
Рейтинг: 0 / 0
Отдельный процесс
    #39482895
nurlybekovnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подумывал о веб приложениях в кашэ, но смог
...
Рейтинг: 0 / 0
Отдельный процесс
    #39482903
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение задачи вообще лежит не в области Каше.
Баллы зависят от времени? Если нет, вычисляйте их при каждом сохранении результата.
Добавьте поле типа "флаг нормального завершения", а время завершения записывайте при каждом обращении с клиента.
Сделайте пинг с клиента, который периодически будет сообщать серверу о том, что клиент активен.
Можно сделать вычисление баллов по запросу.

На крайний случай, если вам при окончании тестирования нужно будет куда-то что-то отослать, можете сделать задачу планировщика, которая с некоторым интервалом будет проверять базу и делать определенные действия.

>запускаю таймер на клиенте с вычисленным временем
А вот этого я бы не стал делать. Доверять какие-либо вычисления на клиенте нехорошо. А если на клиенте время ошибочное? А если во время тестирования время изменят? А если другой часовой пояс? Максимум что можно сделать - это просто информационный таймер.
...
Рейтинг: 0 / 0
Отдельный процесс
    #39483137
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nurlybekovntв OnPreHttp вычисляется оставшееся время, запускаю таймер на клиенте с вычисленным временем, если время заканчивается или студент нажал закончить, с клиента делается запрос серверу о time's left
А за дверью стоят ушлые старшекурсники и по секрету рассказывают про кнопку F5, по которой страница снова загружается и отсчет времени начинается снова.
...
Рейтинг: 0 / 0
Отдельный процесс
    #39483333
nurlybekovnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну я,

Ради этого я и хранится время начала экзамена, чтобы даже если он откроет в другом браузере, время продолжается, исходя из записи в базе вычисляется время.
...
Рейтинг: 0 / 0
Отдельный процесс
    #39483337
nurlybekovnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блок А.Н.,

Да, таймер просто информационный на самом деле все идет по времени сервера, при каждом обращении к серверу производится проверка окончании времени на тестирование. Но если клиент перестанет обращаться, то тест никогда не закончится фактически, поле "FinishTime" останется пустым, оценка за тестирование не проставится, а хотелось бы чтобы сервер при left time сам автоматически закончил тест, а не исходя от обращения клиента.
Баллы вычисляются за правильные ответы, а ответ студента до того момента, как закончить тест уже будут храниться в базе, потому что при каждой нажатии на радиокнопку делается post запрос с помощью ангуляра.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Отдельный процесс
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]