Откажитесь от внешнего контроля за временем жизни публикаций и переложите эту задачу на сервер MySQL, к котором создайте Event и каждые ддччмм удаляет старье, пройдясь выборкой по полю типа timestamp таблицы.
Это поле в таблице должно быть оформлено так:
`tme` timestamp not null default current_timestamp,
index(`tme`)
default current_timestamp - сам установит время при добавлении данных в таблицу, а index обеспечит операции выборки мгновенными даже при миллионе строк.