질문을 삭제하지 말아주세요.!
 
1
0
-1

정통적인 crontab 명령어할 때는


***** root .test.sh param1 param2


이와 같이 줄 수 있는데, 


$schedule→command('test:execute', param2) 이렇게 가능한가요??



    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      파레메터를 줄 수 있습니다. 다만 콘솔 명령어 에서 파라메터를 인식 할 수 있도록 만들어야 합니다.

      라라벨 에서는 Argument 와 Option 으로 처리 합니다. 

      예를 들면 Command 를 상속받은 클래스에 다음과 같이 signature 를 정의 합니다.

      일단 Console Command 클래스를 하나 만들겠죠?

      #php artisan make:command TEST

      만들면 App/Console/Commands 에 TEST.php 가 생기고 signature 속성에 아래와 같이 파라메터를 정의 하면 됩니다.

      /**
      * The name and signature of the console command.
      *
      * @var string
      */
      protected $signature = 'tmall:send {resource} {--shop=} {--all} {--resend} {--queue} {--split=}';
      명령어 : tmall:send

      파라메터 : resource

      옵션 : shop, all, resend, queue, split


      argument 는 {} 로 싸고 Option 은 {–} 형태로 하돼 값이 필요한 옵션은 뒤에 '=' 을 붙여줍니다. 아래와 같이 값을 불러옵니다.

      argument 는 반드시 있어야 하고, Option 은 말그대로 옵션 지정하지 않아도 프로그램은 돌아가도록.....

      $resource = $this->argument('resource');
      $shop_id = $this->option('shop');
      $resend = $this->option('resend');
      $queue = $this->option('queue');
      $all = $this->option('all');
      $split = $this->option('split');

      그럼 이값들을 검사해서 적절한 행동을 하게 하면 끝~~~

      자세한 사항은 메뉴얼을 참고하세용 https://laravel.com/docs/5.5/artisan#defining-input-expectations

      1. withrocket

        정말 감사드립니다.


      CommentAdd your comment...