2014-10-24 3 views
2

내 Laravel 4 설치 프로그램을 실행하는 데 문제가 있습니다. 나는 그것이 농가에서 일하고 있지만, 생산에서는 작동하지 않습니다. 나는 012st에 따라 Beanstalkd (pheanstalk 포함) 및 Supervisor를 사용하고 있습니다.Beanstalkd "delayed job"이 실행되지 않습니다

요약하면, 내 서버에있는 이미지를 삭제하고 싶습니다. 작업이 완료된 후 20 초가 지났습니다.

Queue::later(20, 'App\Queues\[email protected]', ['file' => $file]); 

은 내 파일의 경로입니다.

내 삭제 방법 :

public function delete($job, $data) 
{ 
    var_dump($data); 
    if (File::exists($data['file'])) 
     File::delete($data['file']); 

    $job->delete(); 
} 

또한 Beanstalkd Console를 설치했습니다.

버튼을 클릭하면 대기열이 트리거됩니다. 콘솔에 콘솔에 올바른 파일 번호 ($data)가 올바른지 확인할 수 있습니다.

콘솔에서 time-left은 20부터 카운트 다운되며 0이되면 매우 큰 숫자 (18446744073666)로 재설정됩니다. 로그에는 오류/출력이 없습니다.

콘솔에서 작업을 "실행"하면 해당 코드가 실행되고 파일이 삭제되므로 코드가 정상적인 것입니다.

누구나 어떤 제안을 가지고, 그 정말 짜증나는 날 :(

답변

4

버전 1.4.6은 지연 작업에 문제가 있었다. 1.4.6

+0

감사합니다. 문제에 실행중인 켜져있을 경우 1.5 또는 1.6로 업그레이드 – Alias

+1

Ok 이것은 바보 일지 모르지만 1.4.6에서 어떻게 업그레이드하나요?'apt-get install beanstalkd'이 1.4.6을주었습니다 수동으로 다운로드해야합니까? –

+1

예, 다른 배포판에서 최신 버전을 다운로드 할 수있는 곳. 나는 하늘과 땅을 움직여 새로운 버전을 작동시켜야했다 .https://launchpad.net/~jernej/+archive/ubuntu/beanstalkd/+packages가 나를 도왔다. –