【问题标题】:Iron.io seems to be not detecting my databaseIron.io 似乎没有检测到我的数据库
【发布时间】:2015-06-27 22:17:33
【问题描述】:

我尝试运行我的 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

【问题讨论】:

  • 根据您当前的问题,除了您有错误,我们无法确定其他任何内容,请提供一些代码。
  • 看看这个问题,看看答案是否解决了问题stackoverflow.com/questions/25787376/…
  • 另外你在哪里运行代码?看起来不像控制器或模型
  • @Bankzilla in iron.io 它不是控制器和模型
  • @Bankzilla 集成iron.io的API

标签: php api laravel-4 iron.io


【解决方案1】:

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

【讨论】:

  • 是的,我昨天做了。使用这个 header("location: mywebsite.com"); 但 ddnt 工作
【解决方案2】:

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

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

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2021-04-01
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    相关资源
    最近更新 更多