Если скидки одинаковы для всех товаров, тогда может есть смысл сделать скидку в корзине на все товары этой категории и инициировать ее только по выходным, а на сайте выкидывать сообщение, что сегодня скидка на товары такой категории
Тогда, крон не нужен, в базе ничего не меняется, список категорий масштабируется, список скидок для категорий масштабируется.