我正在使用带有 armetiz/LeezyPeanstalkBundle 的 symfony3。我想执行一个从给定名称创建表的工作。如果我从控制台 bin/console create:table test_table 运行,我已经创建了带有参数名称的 symfony 命令 create:table 来创建表。现在我想在我的事件启动时使用 phenastalk 来完成这项工作。该事件工作正常,即使数据发送到管,但命令不执行。问题是什么?
这是数据:
$payload = ["name" => $power_plant->getName()];
$jobData = ["command" => "create:table", "meta" => $payload];
我设置了管名
$this->pheanstalk->useTube($this->tubeName);
我将有效载荷放入管中:
$this->pheanstalk->put(json_encode($jobData));
$this->pheanstalk->watch($this->tubeName)->ignore('default')->reserve();
这是我在试管中看到的数据:
{
"command":"create:table",
"meta":{
"name":"abc123"
}
但是没有创建表,但是如果我从控制台运行命令,则会创建表,所以命令是可以的。我认为是 pheanstalk 工人有问题吗?