phalcon beanstalkd,如何链接我的控制器



我有一个由phalcon提供动力的RESTFUL API,需要背景某些任务。

在A MailController 我有一种从IMAP获取邮件的方法。由于我需要在这里放一些缓慢的东西,所以我想通过工作处理。

我的路线调用了邮件,该作业已启动,该作业应在此控制器中执行。

services.php

$di->setShared("queue", function(){
  $queue = new Beanstalk([
    "host" => "127.0.0.1",
    "port" => "11300"
    ]);
    return $queue;
});

(di中的beanstalk服务声明(

mailcontroller.php

public function fetchMailboxAction(){
    $queue = $this->di->getShared("queue"); 
    $idQueue = $queue->put([
      "readMailbox" => [
        "email" => $this->email,
        "customer_id" => $this->customer_id
      ]
    ],
    [
      "priority" => 250,
      "delay" => 10,
      "ttr" => 3600
    ]);
    /* other stuff, return blah blah */
}
public function readMailbox($params){
    // readMailboxStuff that should be executed through the job
}

我的问题:如何指定controller it beanstalkd必须执行我的函数的作业?文档非常回避,我不确定我是否处于良好状态!

谢谢

beanstalkd只是工作的队列。不是工作处理者。您需要创建一些CRON任务来自己执行此功能。最好仅使用CLI任务IMHO并收集队列作业。

相关内容

  • 没有找到相关文章

最新更新