Iron.io, похоже, не обнаруживает мою базу данных

Я попытался запустить свой hello_worker.php, но, похоже, он не определяет базу данных. Я использую Laravel 4.

Это мой код в Iron.io:

<?php
// Worker code can be anything you want.
// echo "Hello!";
// print_r(getPayload());

// Simulating hard work for 5 seconds...
// sleep(5);

DB::table('test')->insert( array('content' => 'every one minute') );
// When you're ready press 'Run code ...'

Это ошибка, которую я получил в своем письме.

Сообщение: произошло во время выполнения: Неустранимая ошибка PHP: класс «DB» не найден в /mnt/task/hello_worker.php в строке 9

API, который я интегрирую http://www.iron.io/

1

Решение

Я использую iron.io только для очереди сообщений. Я прошу iron.io вызвать конкретный URL в моем приложении Laravel и обработать запрос в приложении Laravel, а не на удаленном сервере iron.io.

0

Другие решения

Чтобы запустить код в IronWorker, вы должны включить все свои зависимости вместе со своим работником. Какая бы зависимость не имела класс DB, вы должны включить это. Вот пример работника с зависимостями:

https://github.com/iron-io/dockerworker/blob/master/php/

Вы можете использовать модуль базы данных Laravel / ORM (называемый Красноречивый ОРМ) за пределами приложения Laravel, вот некоторая информация о том, как это сделать:

http://www.edzynda.com/use-laravels-eloquent-orm-outside-of-laravel/

Другой вариант — использовать Push-очереди, которые используют IronMQ для доставки сообщений в конечную точку вашего приложения:

http://laravel.com/docs/5.0/queues#push-queues

Вот видео, показывающее это в действии:

https://vimeo.com/64703617

Надеюсь, это поможет.

0

По вопросам рекламы [email protected]