Size: a a a

Node.js — русскоговорящее сообщество

2020 March 16

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Vladimir Luvolunov
Ну думаю, это некритично. Огромное спасибо!
Есть тонкий момент с тем, как будет обрабатываться провал сразу нескольких тестов в один момент времени одним юзером, но это out of the scope вопроса.
источник

VL

Vladimir Luvolunov in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Есть тонкий момент с тем, как будет обрабатываться провал сразу нескольких тестов в один момент времени одним юзером, но это out of the scope вопроса.
Ох, я не особо пока задумываюсь об этом)
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Есть тонкий момент с тем, как будет обрабатываться провал сразу нескольких тестов в один момент времени одним юзером, но это out of the scope вопроса.
Я бы завел таблицу failed-tests с полями userId, testId, timestamp, attemptId
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Тогда добавление в нее параллельно не создает состояние гонки
источник

VL

Vladimir Luvolunov in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Я бы завел таблицу failed-tests с полями userId, testId, timestamp, attemptId
Ну у меня монго, так что пока коллекции. Да и вроде нормально работает, просто иду по массиву failedTests и проверяю, провалил пользователь тест или нет
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Vladimir Luvolunov
Ну у меня монго, так что пока коллекции. Да и вроде нормально работает, просто иду по массиву failedTests и проверяю, провалил пользователь тест или нет
Ну проверка то не проблема, проблема в изменении
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Ivan Sacura
ребят помогите разобратся с кроной */1 * * * * /usr/bin/node /home/leonid/Документы/main/projects/untitled/app.js написал так но не работает
думаю никто не горит желанием помогать в задаче, которая решается чтением документации
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
В монго недавно появилась атомарность на уровне записи.
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Алексей Попов
думаю никто не горит желанием помогать в задаче, которая решается чтением документации
Я даже не понял написанное
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Я даже не понял написанное
так он выше спрашивал как ему в крон добавить задание
с тех пор всё бъётся
источник

VL

Vladimir Luvolunov in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Ну проверка то не проблема, проблема в изменении
Ну вот тест, пройденный пользователем будет недоступен ровно сутки. Поэтому я запускаю просто setTimeout
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Vladimir Luvolunov
Ну вот тест, пройденный пользователем будет недоступен ровно сутки. Поэтому я запускаю просто setTimeout
Ойой. Это быстро превратится в катастрофу
источник

VL

Vladimir Luvolunov in Node.js — русскоговорящее сообщество
А чтобы избежать того, что может упасть процесс и всё слетит, я добавляю поле — конкретное время, когда тест будет уже доступен
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Потому что тайм-ауты не переживают перезапуска
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Vladimir Luvolunov
А чтобы избежать того, что может упасть процесс и всё слетит, я добавляю поле — конкретное время, когда тест будет уже доступен
Вот нужно просто добавлять поле с временем и не извращаться с таймаутом
источник

VL

Vladimir Luvolunov in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Ойой. Это быстро превратится в катастрофу
Тоже так думаю. Может сделать какой-то "обход" по базе в 00:00, к примеру, и удалять эти тесты
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
При проверке просто требовать чтобы не было теста с непройденным таймаутом
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Vladimir Luvolunov
Тоже так думаю. Может сделать какой-то "обход" по базе в 00:00, к примеру, и удалять эти тесты
Достаточно сделать проверку что timestamp + 1day< now
источник

VL

Vladimir Luvolunov in Node.js — русскоговорящее сообщество
Да так и сделаю. Это пока просто мысли, лучше заранее это всё обдумаю, а потом начну писать код. Выше оговорился "работает в голове" )))
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Ничесе оговорочка)
источник