Использование торта 2.1.1. Я пытаюсь сделать задание cron для выполнения действия с контроллера. Каков правильный способ сделать это? У меня есть OfferController с действием admin_test. Я хотел бы запустить это действие каждые 2 часа. На данный момент я сделал оболочку в приложение/консоли/команды/SyncapiShell.php:CakePHP Shell, как использовать действие контроллера
class SyncapiShell extends AppShell {
public $uses = array('Offer');
public function main() {
$this->Offer->admin_test();
}
}
Но я получаю SQLSTATE [42000] Синтаксическая ошибка или нарушение прав доступа пытается выполнить оболочку. Я также использую маршрутизацию admin, компонент auth и ACL. Как работает оболочка? Он игнорирует права аутентификации и acl? Обычно действие admin_test может быть доступно только определенным пользователям, прошедшим проверку подлинности.
Спасибо вам
Кажется, что я жил на другой планете до этого момента. Спасибо ... Я всегда думал, что модель должна быть тощей. Я всегда старался выполнять функцию и повторно использовать их, но теперь я хочу просмотреть всю мою структуру. Однако для проблемы использования я сделал это, как сказано на веб-сайте cakephp. Если в оболочке вы хотите использовать rmodel, вы должны использовать «uses» [link] (http://book.cakephp.org/2.0/ ru/console-and-shells.html) – slacky
Это правильно для оболочки. Но в контроллере вы не хотите вызывать ненужные накладные расходы, добавляя множество моделей через свойство uses, но многие люди делают это по какой-то причине. – burzum
Да, на самом деле я не использовал «использование» в контроллерах. Еще раз спасибо, я уже переустановил пару моделей с новой логикой. Ваш вклад был очень полезным. Теперь все начинает иметь больше смысла. – slacky