Мне нравится концепция значков и достижений для веб-сайта, который я создаю. Было доказано, что они улучшают использование / коэффициент использования, и я думаю, что они могут стать большим мотиватором для приложения, которое я хотел бы разработать.
На высоком уровне я могу придумать 3 способа сделать это.
Проверьте участников, которые соответствуют требованиям для работы cron: это не кажется мне хорошей идеей, поскольку количество участников растет, работа cron будет занимать все больше и больше времени.
Каждый раз, когда выполняется действие, которое может соответствовать требованиям для значка, проверяйте, нужно ли присуждать какие-либо значки: Это кажется хорошим способом сделать это, но похоже, что я потенциально мог бы сервер постоянно проверяет значки, которые уже были вручены или к которым пользователь может даже не приближаться.
Каждый раз, когда пользователь выполняет действие, которое может получить значки, проверьте, есть ли они у них, а затем проверьте, соответствуют ли они требованиям: Это тоже кажется нормальным, но если я сохраняю пользователя в качестве объекта кажется, что он может стать слишком большим, или что я могу в конечном итоге довольно жестко проверять наличие достижений в базе данных.
Есть ли какие-то варианты, которые мне не хватает? Мои опасения по поводу одного или нескольких подходов преувеличены?
Изменить: это гораздо менее интересный вопрос, чем я думал, или я задал не вовремя? Я что-то неясно оставил?