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

58
6

Я попытался запустить 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 Неустранимая ошибка: Class 'DB не найден в /mnt/task/hello_worker.php в строке 9

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

спросил(а) 2015-04-21T03:07:00+03:00 5 лет, 6 месяцев назад
1
Решение
100

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

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

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

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

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

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

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

https://vimeo.com/64703617

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

ответил(а) 2015-04-28T00:12:00+03:00 5 лет, 5 месяцев назад
41

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

ответил(а) 2015-04-21T17:55:00+03:00 5 лет, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема