Iron.io似乎没有检测到我的数据库

时间:2015-04-21 00:07:34

标签: php api laravel-4 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致命错误:第9行/mnt/task/hello_worker.php中找不到类“DB”

即时整合http://www.iron.io/

的API

2 个答案:

答案 0 :(得分:0)

我一直在使用iron.io作为消息队列。我请求iron.io在我的Laravel应用程序中调用特定URL,并在Laravel应用程序中处理请求,而不是在远程iron.io服务器中处理。

答案 1 :(得分:0)

要在IronWorker上运行代码,您必须包含所有依赖项以及您的工作者。无论哪个依赖项都有DB类,都必须包含它。这是一个具有依赖关系的示例worker:

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

您可以在Laravel应用程序之外使用Laravel的数据库模块/ ORM(称为Eloquent ORM),以下是有关如何执行此操作的一些信息:

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

另一种选择是使用推送队列,它使用IronMQ将消息传递到应用程序的端点:

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

以下是一段视频,展示了这一点:

https://vimeo.com/64703617

希望有所帮助。