Какой лучший (более простой, быстрый, элегантный) способ выполнять работу каждую неделю?Делайте работу каждую неделю
Мне нужно выполнять работу каждую неделю, но для каждого пользователя недели считаются с даты регистрации пользователя.
Например,
Пользователя 1 регистрации в понедельник, работа для этого пользователя будет работать каждый понедельник (за исключением SIGNUP понедельника)
Пользователя 2 Signup на вторник, работа для этого пользователь будет запускаться каждый вторник (за исключением регистрации во вторник)
Задача проста, как приращение поля в базе данных.
Имейте в виду, что я использую структуру Laravel, решение должно быть «элегантным» в контексте рамки Laravel.
Я думаю, вам нужно создать пользовательский cronjob для каждого пользователя. Существует множество учебников о том, как создавать php cronjobs, если вам нужна помощь в этом. – treegarden
@treegarden Возможно ли это, поскольку у него могут быть тысячи пользователей. А о производительности? –
Вы можете запускать один cronjob каждый день - просто проверьте его в понедельник для пользователей, которые зарегистрировались по понедельникам и так далее. Хотя при условии, что он увеличивает поле в базе данных, вам действительно нужно? Не могли бы вы уйти с повторным вычислением значения, когда это было необходимо? – andrewsi