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>
This commit is contained in:
@@ -1,14 +1,27 @@
|
||||
#!/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:run هر دقیقه ───
|
||||
# prices:tick-loop داخل Kernel هر ۱۰ ثانیه ۶ بار اجرا میشود.
|
||||
# ─── روش ۱ (پیشنهادی): schedule:bootstrap ───
|
||||
# cd $APP_DIR && php artisan schedule:bootstrap
|
||||
|
||||
# ─── روش ۲: دستی crontab ───
|
||||
# crontab -e:
|
||||
# * * * * * cd $APP_DIR && php artisan schedule:run >> /dev/null 2>&1
|
||||
|
||||
# ─── روش ۲: مستقیم هر ۱۰ ثانیه (بدون schedule:run) ───
|
||||
# * * * * * 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
|
||||
|
||||
Reference in New Issue
Block a user