从beanstalkd队列执行作业的单独php脚本。需要访问cakephp应用程序
我正在使用beanstalkd对作业进行排队 我在从beanstalkd队列执行作业的单独php脚本。需要访问cakephp应用程序,php,cakephp,cakephp-2.0,beanstalkd,Php,Cakephp,Cakephp 2.0,Beanstalkd,我正在使用beanstalkd对作业进行排队 我在app/Lib/Queue/Beanstalk/workers/DownloadFileWorker.php中编写了一个php脚本 <?php require_once(dirname(__DIR__) . DIRECTORY_SEPARATOR . 'config.php'); class DownloadS3FilesWorker extends PHPQueue\Worker { /** * @var \PHPQueue\Backe
app/Lib/Queue/Beanstalk/workers/DownloadFileWorker.php中编写了一个php脚本
<?php
require_once(dirname(__DIR__) . DIRECTORY_SEPARATOR . 'config.php');
class DownloadS3FilesWorker extends PHPQueue\Worker
{
/**
* @var \PHPQueue\Backend\FS
*/
static private $dataSource;
public $factory = null;
private $queueConfig = array();
private $queueBackend = 'Beanstalkd';
public function __construct()
{
parent::__construct();
$this->queueConfig = EPubConfig::getConfig($this->queueBackend);
self::$dataSource = \PHPQueue\Base::backendFactory($this->queueBackend, $this->queueConfig);
}
/**
* @param \PHPQueue\Job $jobObject
*/
public function runJob($jobObject)
{
parent::runJob($jobObject);
$jobData = $jobObject->data;
App::uses('FileFactory', 'Lib/File');
$this->factory = new FileFactory($jobData);
$this->factory->downloadAllFiles();
$this->result_data = $jobData;
}
}
FileFactory
本身将使用许多其他与蛋糕相关的类。在Console/Command下作为Shell编写
问题解决了 我最近看到很多人真的对兔子大发雷霆。甚至CakePHP的核心贡献者MarkStory在2011年CakeFest上也谈到了它:可能有更多的文档和社区支持。只是想一想,祝你好运!谢谢@alairock我会仔细看的。只是一个简单的问题,你以前试过哪一个?@alairock复习完这篇文章后,我想我会选择beanstalk,因为我实际上使用的是工作队列,而不是消息队列。很抱歉,回复太晚(过去几天一直在旅行)。实际上,我们正在积极使用RabbitMQ在多个守护进程服务器上启动作业。它工作得非常好,并且配置和设置相当简单。
PHP Fatal error: Class 'App' not found in /var/virtual/someapp/Lib/Queue/Beanstalk/workers/DownloadFileWorker.php on line 27