클래스에서 ShouldQueue와 Sync를 어떻게 전환합니까?대기열과 대기열 간 Laravel 전환
우리는 작업을 즉시 또는 나중에 실행해야하는지 여부에 대한 인수를 허용합니다.
두 경우 모두 동일한 논리를 실행해야하지만 한 시나리오에서는 예상대로 응답하고 다른 하나는 비동기로 처리해야합니다.
"ShouldQueue"를 구현하고 "InteractsWithQueue"-Trait를 사용하고 있음을 알고 있지만 한 상황에서는 어떻게 사용하고 다른 상황에서는 사용하지 않을 수 있습니까?
요청을 대기열에 넣을지 여부를 프로그래밍 방식으로 설정할 수 있습니까? 아니면 더 좋은 방법이 있습니까? 컨트롤러에서 감사
아직 자신이 테스트하지 않았습니다
수 있지만, 작업 클래스를 인스턴스화하고 즉시 실행해야하거나 "온라인"이라면 컨트롤러에서'handle()'메소드를 호출하면됩니까? 대기열에서 실행하거나 "오프라인"으로 실행하려면 디스패처를 사용하여 정상적으로 대기열에 대기열로 두십시오. – stratedge@xjstratedgebx 예,이 방법은 작동하지만 두 경우 모두 변수를 전달하는 방법은 무엇입니까? 디스패치 케이스에서는 생성자에서 핸들 케이스의 handle 메소드가 필요합니다. – hogan
서비스 컨테이너 (예 :'$ job = app (\ App \ Jobs \ MyJob :: class);)를 통해 작업 클래스를 해결하면 생성자에 힌트를 입력 한 모든 클래스가 자동으로 전달됩니다. 'handle()'을 수동으로 호출하고 매개 변수를 전달해야한다면 매개 변수를 호출 할 때 매개 변수를 전달하십시오. 대기열에 넣을 때 매개 변수에 대해 걱정할 필요가 없습니다. 서비스 컨테이너가 대기열에서 실행될 때 매개 변수를 자동으로 주입합니다. – stratedge