Pancake Stack › Pancake Stack マニュアル
サービス、タスク、ワーカ
FullStack では PostgreSQL、Valkey、Memcached が加わり、サイトのスケジュールタスクとバックグラウンドワーカを実行できます。

13.1データベースとキャッシュ
FullStack サービスペインでは、3 つの追加のサーバをオンにできます。いずれもこの 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)を入力します。入力に合わせて次回の実行日時が表示されます。N 分で実行を打ち切るで、1 回の実行にかけられる時間を制限します(変更しなければ 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 のいずれかで始めます。シェルは使わないため、パイプ、;、&&、リダイレクトは使えず、展開も行われません。引用符は通常どおり使えます。
スケジュール
スケジュールは 5 つの項目からなります:分、時、日、月、曜日。時刻は Mac のタイムゾーンです。
| スケジュール | 実行タイミング |
|---|---|
*/5 * * * * | 5 分ごと |
0 * * * * または @hourly | 毎時 0 分 |
30 2 * * * | 毎日 2:30 |
0 9 * * mon-fri | 平日の 9:00 |
0 0 1 * * または @monthly | 毎月 1 日の 0:00 |
リスト(1,15)、範囲(1-5)、間隔(*/15)、月と曜日の名前、@daily、@weekly、@yearly も使えます。
13.3Nginx
FullStack サイトのウェブサーバに Nginx を使えます。サイトカードで「詳細」をオンにし、ウェブサーバを Nginx にします。カードの詳細設定を参照してください。