Files
boursecu_server/scripts/crontab-prices.example.sh
mohmdsdgandCursor 1c8ab4b725 feat(schedule): add schedule:bootstrap and minute-precise automation runs
Install per-module schedule:run cron from artisan, store sms/in_app send minutes, and match scheduled triggers at exact HH:mm Tehran time.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-24 22:13:06 +03:30

36 lines
1.5 KiB
Bash

#!/bin/sh
# نصب کران — برای هر ماژول/tenant یک‌بار از داخل همان مسیر سرور:
# cd /opt/test/server && php artisan schedule:bootstrap
#
# این دستور:
# 1) اگر خط cron این ماژول نبود، اضافه می‌کند
# 2) یک‌بار schedule:run را اجرا می‌کند
#
# فقط نصب cron:
# php artisan schedule:bootstrap --install-only
#
# فقط یک‌بار اجرا:
# php artisan schedule:bootstrap --run-only
#
# دیدن خط بدون نصب:
# php artisan schedule:bootstrap --dry-run
APP_DIR="/opt/rahimigold/server"
# ─── روش ۱ (پیشنهادی): schedule:bootstrap ───
# cd $APP_DIR && php artisan schedule:bootstrap
# ─── روش ۲: دستی crontab ───
# crontab -e:
# * * * * * cd $APP_DIR && php artisan schedule:run >> /dev/null 2>&1
# * * * * * cd $APP_DIR && php artisan prices:tick >> /dev/null 2>&1
# * * * * * sleep 10 && cd $APP_DIR && php artisan prices:tick >> /dev/null 2>&1
# * * * * * sleep 20 && cd $APP_DIR && php artisan prices:tick >> /dev/null 2>&1
# * * * * * sleep 30 && cd $APP_DIR && php artisan prices:tick >> /dev/null 2>&1
# * * * * * sleep 40 && cd $APP_DIR && php artisan prices:tick >> /dev/null 2>&1
# * * * * * sleep 50 && cd $APP_DIR && php artisan prices:tick >> /dev/null 2>&1
# ─── روش ۳: supervisor (حلقه دائمی) ───
# php artisan prices:tick-daemon --interval=10
echo "See comments in this file for crontab lines."