alexandr_kulik
Новичок
Поделитесь опытом, задача такая, есть таблица в SQL с заданиями по каждому пользователю в ней хранится время когда нужно выполнить задание на каком аккаунте и что выполнить, таких задания в таблице выходит очень много, подозреваю есть какой то хороший метод отличающийся от моего.
У меня сделано как, работает демон который каждые 3-5 секунд дергает с базы наступившие задания по времени, колонка с временем проиндексирована, и когда задача наступает берет данные с таблицы и повещает в очередь Gearman на выполнение, после того как повестил в очередь время выполнения увеличивает на +10 минут на тот случай если задача не выполнится или что то оборвется, а в очереди уже если задача выполняется успешно ставит отметку что задание выполнено и время ставит что и было ну и дальше уже данную задачу не трогает, если ошибка, то обрабатывает ошибку сдвинутое время оставляет что бы попробовать еще раз выполнить ну и счетчик ошибок увеличивает.
Вопрос как дергать данные на проверку есть что выполнять или нет, мне кажется что дергать постоянно базу как то не очень, но не могу придумать альтернативу, подскажите советом идеей
У меня сделано как, работает демон который каждые 3-5 секунд дергает с базы наступившие задания по времени, колонка с временем проиндексирована, и когда задача наступает берет данные с таблицы и повещает в очередь Gearman на выполнение, после того как повестил в очередь время выполнения увеличивает на +10 минут на тот случай если задача не выполнится или что то оборвется, а в очереди уже если задача выполняется успешно ставит отметку что задание выполнено и время ставит что и было ну и дальше уже данную задачу не трогает, если ошибка, то обрабатывает ошибку сдвинутое время оставляет что бы попробовать еще раз выполнить ну и счетчик ошибок увеличивает.
Вопрос как дергать данные на проверку есть что выполнять или нет, мне кажется что дергать постоянно базу как то не очень, но не могу придумать альтернативу, подскажите советом идеей