Written by
hoyeonUm
on
on
PHP redis 연동
설치
yum install redis
systemctl start redis
cd ./workspace
composer require chrisboulton/php-resque
Push.php
\Resque::setBackend('localhost:6379');
$args = [
'idx' => 1,
];
Resque::enqueue('queue-name', Jobs::class, $args);
Jobs.php
<?php
class Jobs
{
public function perform()
{
$idx = $this->args['idx']; //Push.php 에서 보낸 idx
//.. code
}
}
Push.php 를 실행시켜 설치한 서버 Redis 에 데이터를 쌓게 되고 Jobs 를 호출함으로써 큐에 쌓여진데로 순차적으로 실행하게된다.
redis-cli
$ redis-cli
127.0.0.1:6379> llen resque:queue:queue-name
3
이제 worker (큐 순차처리) 를 사용하여야 하는데 foreverd 데몬을 활용하여 실행시켜보자
실행시키는 bin/resque file 은 composer 설치 디렉토리에 포함되어있다.
forever 추가
VERBOSE=1 QUEUE=queue-name forever -l /home/tmp/logs.log -a start -c "sh " bin/resque
VERBOSE = 기본디버그 추가, QUEUE = 큐이름
redis-cli 큐 실행이후
$ redis-cli
127.0.0.1:6379> llen resque:queue:queue-name
0