我试图运行我的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 ...'
这是我在电子邮件中收到的错误。
的API消息:在运行期间发生:PHP致命错误:第9行/mnt/task/hello_worker.php中找不到类“DB”
答案 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
以下是一段视频,展示了这一点:
希望有所帮助。