Pancake Stack › Pancake Stack 매뉴얼
서비스, 작업과 워커
FullStack은 PostgreSQL, Valkey, Memcached를 추가하고, 사이트의 예약 작업과 백그라운드 워커를 실행합니다.

13.1데이터베이스와 캐시
FullStack 서비스 패널에서 추가 서버 세 가지를 켭니다. 각 서버는 이 Mac에서만 실행되고, Pancake와 함께 시작하고 중지하며, 모든 사이트에 주소를 환경 변수로 전달합니다.
| 서비스 | 사이트가 받는 값 | 옵션 |
|---|---|---|
| Valkey(Redis 호환) | REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, VALKEY_URL, REDIS_URL | 재시작해도 데이터 유지, URL 복사 |
| Memcached | MEMCACHED_HOST, MEMCACHED_PORT | 메모리(16 MB~1 GB) |
| PostgreSQL 17 | PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD, POSTGRES_URL | 사이트마다 데이터베이스와 역할 하나 |
PHP에는 redis, memcached, pgsql, pdo_pgsql 확장이 들어 있습니다. 서비스를 켜거나 끄면 실행 중인 서버가 다시 시작됩니다. 각 서비스는 실행 중일 때 주소(예: 127.0.0.1:6379)를 표시합니다.
PostgreSQL 데이터베이스는 데이터베이스 패널에서 관리합니다.
13.2예약 작업과 워커
FullStack 서비스 패널의 각 사이트에는 다음을 둘 수 있습니다.
- 예약 작업: cron 형식의 일정에 따라 실행됩니다. WP-Cron, Laravel 스케줄러, Django 관리 명령, 테스트 모음 등.
- 워커: 계속 실행되며 멈추면 다시 시작됩니다. Laravel의
queue:work, Celery 등의 큐 워커.
작업과 워커는 Pancake가 열려 있고 서버가 실행 중일 때 사이트의 폴더에서 사이트의 환경(데이터베이스 설정 포함)으로 실행됩니다. 서버가 아니라 이 Mac에서 도는 cron과 같습니다.
- 사이트 카드에서 추가를 클릭합니다.
- 맞는 것이 있으면 프리셋을 고르거나(Pancake는 사이트 파일에 맞는 프리셋을 제안합니다), 이름, 종류(예약 작업 또는 워커), 명령을 입력합니다.
- 예약 작업이면 일정(cron)을 입력합니다. 입력하는 동안 Pancake가 다음 실행 시각을 보여 줍니다. N분이 지나면 실행 중단으로 한 번의 실행에 걸리는 시간을 제한합니다(바꾸지 않으면 10분).
- 저장을 클릭합니다.
| 프리셋 | 종류 | 명령 | 일정 |
|---|---|---|---|
| Laravel scheduler | 작업 | artisan schedule:run | * * * * * |
| Laravel queue worker | 워커 | artisan queue:work --sleep=3 --tries=3 | |
| WP-Cron | 작업 | php wp-cron.php | */5 * * * * |
| Run tests (PHPUnit) | 작업 | php vendor/bin/phpunit | @daily |
| Django management command | 작업 | manage.py clearsessions | @daily |
각 행에는 마지막 실행 시각과 성공 여부가 지금 실행, 로그, 편집과 함께 표시됩니다. 출력은 작업별 로그(로그 윈도우의 task-<name>.log)에 기록됩니다.
명령으로 쓸 수 있는 것
명령은 php, artisan, composer, python, manage.py 중 하나로 시작합니다. 셸이 없으므로 파이프, ;, &&, 리디렉션은 쓸 수 없으며 아무것도 확장되지 않습니다. 따옴표는 평소처럼 작동합니다.
일정
일정은 분, 시, 일, 월, 요일의 다섯 부분으로 이루어지며 Mac의 시간대를 따릅니다.
| 일정 | 실행 시점 |
|---|---|
*/5 * * * * | 5분마다 |
0 * * * * 또는 @hourly | 매시 정각 |
30 2 * * * | 매일 2시 30분 |
0 9 * * mon-fri | 평일 9시 |
0 0 1 * * 또는 @monthly | 매월 1일 자정 |
목록(1,15), 범위(1-5), 간격(*/15), 월과 요일 이름, @daily, @weekly, @yearly를 모두 쓸 수 있습니다.
13.3Nginx
FullStack 사이트의 웹 서버로 Nginx를 쓸 수 있습니다. 사이트 카드에서 고급을 켜고 웹 서버를 Nginx로 설정합니다. 카드의 고급 설정을 참조하십시오.