Closed astrogin closed 4 years ago
Hello. pheanstalk version ^4.0 doesn't support the method putInTube. But in new versions of the package, it still using.
public function putInTube( $tube, $data, $priority = PheanstalkInterface::DEFAULT_PRIORITY, $delay = PheanstalkInterface::DEFAULT_DELAY, $ttr = PheanstalkInterface::DEFAULT_TTR ) { $this->useTube($tube); return $this->put($data, $priority, $delay, $ttr); }
The package part
namespace Dtc\QueueBundle\Beanstalkd; class JobManager extends RetryableJobManager { ....... protected function putJob(Job $job) { /** @var Job $job */ $message = $job->toMessage(); $arguments = [$message]; if (null !== $job->getPriority()) { $arguments[] = $job->getPriority(); } if (null !== $job->getDelay()) { while (count($arguments) < 2) { $arguments[] = 0; } $arguments[] = $job->getDelay(); } if (null !== $job->getTtr()) { while (count($arguments) < 3) { $arguments[] = 0; } $arguments[] = $job->getTtr(); } $method = 'put'; if ($this->tube) { array_unshift($arguments, $this->tube); $method .= 'InTube'; } $beanJob = call_user_func_array([$this->beanstalkd, $method], $arguments); $job->setId($beanJob->getId()); $job->setBeanJob($beanJob); return $job; } ...... }
@astrogin Thanks for letting me know. I'll try to take a look today or maybe tonight.
Fixed.
Hello. pheanstalk version ^4.0 doesn't support the method putInTube. But in new versions of the package, it still using.
The package part