XE 3 (Xpressengine 3) Queues 사용하기

[Linux] nohup 세션이 끊겨도 계속 실행되도록 해보자


큐 실행 코드

php artisan queue:work --queue=high,default

Ubuntu

nohup php artisan queue:work --tries=5 --timeout=6000 --daemon > /dev/null 2>&1 &

서버에서 나올 때 logout

확인

ps aux | grep queue

nohup?

리눅스에서 프로세스를 실행한 터미널의 세션 연결이 끊어지더라도 지속적으로 동작할 수 있게 해주는 명령어 입니다.

기본적으로 터미널에서 세션 로그아웃이 발생하면 해당 터미널에서 실행한 프로세스들에게 HUP signal 이 전달하여 종료시키게 되는데, 이 HUP Signal을 프로세스가 무시하도록 하는 명령어라서 nohup이라고 불린다.


관계형 데이터베이스

Path: config/queue

'default' => env('QUEUE_DRIVER', 'database'),
  • jobs 테이블 추가
$this->schema()->create('jobs', function (Blueprint $table) {
    $table->engine = "InnoDB";

    $table->increments('id');
    $table->string('user_id', 36)->comment('sender');
    $table->string('queue', 255);
    $table->longText('payload');
    $table->unsignedTinyInteger('attempts');
    $table->unsignedInteger('reserved_at')->nullable();
    $table->unsignedInteger('available_at');
    $table->unsignedInteger('created_at');
    $table->index(['queue']);
});
  • failed_jobs 테이블 추가
$this->schema()->create('failed_jobs', function (Blueprint $table) {
    $table->engine = "InnoDB";

    $table->increments('id');
    $table->text('connection');
    $table->text('queue');
    $table->longText('payload');
    $table->longText('exception');
    $table->dateTime('failed_at');
});

라라벨(Laravel) AWS S3 및 SQS 설치하기

  • share