Я использую почту метода контроллера непосредственно для выполнения некоторых операций с db и социальной сетью, но я обнаружил несколько точек сбоя между ним и аппаратным обеспечением —, поэтому я придумал идею сохранения все запросы в таблице db будут использоваться в качестве системы очередей, поэтому я могу обрабатывать их в свое время, а не в реальном времени.Как обрабатывать хранимые запросы в CI
То, с чем я сейчас борюсь, обрабатывает мои запросы. Я знаю, что это не очень MVC —, но его быстрое исправление.
Как я могу вызвать метод другого контроллера из моего метода очереди процессов? Я попытался включить файл и создать его —, передав ему переменные, которые я сделал бы из Интернета.
function process(){
$result = $this->mque->get_all();
include('post.php');
$get = new post();
foreach($result->result_array() as $item){
$get->index($item['rfid'],$item['station_id'],$item['item']);
}
}
но я получаю error-, когда я называю нормальный индекс ме- он работает нормально, но я получаю ошибку неопределенного метода, когда называете его через конкретизированный класс ме- (это моя проблема)
Message: Undefined property: post::$db
почему
Я устанавливаю метод очереди запущенного процесса на основе хрон работает на заданном интервале времени.
Первоначально все побежали к методу индекса поста — но так как post::index()
может занять 10-15 секунд, чтобы работать, и читатель не многопоточный — кто-то может использовать читатель в течение 7 секунд и сценарий не стал бы работать полностью.
Есть ли лучший способ сделать это, а не использовать мой текущий метод обработки?
обновление
есть два способа сделать this- либо использовать PHP для FOPEN/получить из Интернета
или сделать это с помощью sprogramming $ class-> метод() - я предпочел бы сделайте это первым методом, но на самом деле не видите никакой опции с ошибкой, о которой я упоминал ранее.
На этом этапе у меня нет времени для рефакторинга кода (он длинный, его не СУХОЙ и делает несколько вещей, но его миссия критическая) - я смотрел что-то быстрое и грязное, чтобы мы пошли –