У меня есть модель цикла с двумя полями: длительность (строка) и завершенная (булева). Когда пользователь создает цикл, они вводят продолжительность (скажем, 30 минут), и цикл установлен на не завершен (boolean 0). Как обновить эту запись базы данных после продолжительности цикла (30 минут), чтобы пометить цикл как полный (boolean 1)? Есть ли способ справиться с этим с помощью кода ruby / rails или мне нужно выполнить функцию javascript?Обновление базы данных после продолжительности (Ruby on Rails)
Цель состоит в том, чтобы найти и отобразить все завершенные циклы с использованием Cycle.all (: conditions ..) и вызвать базу данных SQL. Я написал «полный»? метод в модели цикла, который сравнивает возраст цикла с продолжительностью, но это бесполезно для методов поиска SQL.
Каков наилучший способ решить эту проблему? Благодаря!
В любом случае, я мог бы сделать это без работы cron? Это будет использоваться в заводской среде, где статус цикла важен так, что он должен быть точным до минуты, для чего требуется выполнение задания cron каждую минуту. На общих серверах я читал, что это плохо. – aguynamedloren
Вы можете прикрепить гораздо более эффективный необработанный SQL-запрос к каждому запрошенному запросу, поэтому он будет запускаться автоматически по мере использования приложения. Вы не можете сказать базе данных, чтобы сделать это автоматически по расписанию, хотя, если это то, к чему вы стремитесь. – coreyward
В зависимости от того, как вы намерены взаимодействовать с этими данными, индексирование столбца истечения срока действия в базе данных и использование условия сравнения времени для вытягивания строк, которые неизучены (лживо), являются очень приемлемым вариантом. – coreyward