diff --git a/deploy/activate-incremental-release.sh b/deploy/activate-incremental-release.sh index 7b80b4af..add13565 100644 --- a/deploy/activate-incremental-release.sh +++ b/deploy/activate-incremental-release.sh @@ -125,11 +125,12 @@ fi printf '%s\n' "$DEPLOY_SHA" > "$REMOTE_DIR/.deployed-sha.tmp" mv "$REMOTE_DIR/.deployed-sha.tmp" "$REMOTE_DIR/.deployed-sha" -# 只运行已登记的上游后台读取,不启用整个 Laravel 调度器,避免意外启动 -# 账单提醒等既有任务。同一把锁保证快照与业务镜像不会并发施压上游。 +# 只运行已登记的上游后台读取和 E 签宝状态轮询,不启用整个 Laravel +# 调度器,避免意外启动账单提醒等既有任务。不同任务使用独立锁。 # 普通商品优先高频增量,并在配置的每周低峰窗口自动继续全量校准。 cat > /etc/cron.d/caiwu-jiansun-snapshots <<'EOF' * * * * * root /usr/bin/flock -n /run/caiwu-upstream-sync.lock /bin/sh -c '/usr/bin/docker exec -u www-data caiwu_app php artisan business-mirror:sync-product-catalog --quiet; /usr/bin/docker exec -u www-data caiwu_app php artisan business-mirror:sync-product-purchase-prices --quiet; /usr/bin/docker exec -u www-data caiwu_app php artisan business-mirror:sync-store-report --quiet; /usr/bin/docker exec -u www-data caiwu_app php artisan upstream:snapshots:refresh-all --quiet; /usr/bin/docker exec -u www-data caiwu_app php artisan business-mirror:sync-product-prices --quiet; /usr/bin/docker exec -u www-data caiwu_app php artisan business-mirror:sync-tables --quiet' >/dev/null 2>&1 +*/2 * * * * root /usr/bin/flock -n /run/caiwu-esign-polling.lock /usr/bin/docker exec -u www-data caiwu_app php artisan esign:poll-signatures --quiet >/dev/null 2>&1 EOF chmod 644 /etc/cron.d/caiwu-jiansun-snapshots diff --git a/deploy/activate-release.sh b/deploy/activate-release.sh index f814011d..3376abc5 100644 --- a/deploy/activate-release.sh +++ b/deploy/activate-release.sh @@ -129,11 +129,12 @@ fi printf '%s\n' "$DEPLOY_SHA" > "$REMOTE_DIR/.deployed-sha.tmp" mv "$REMOTE_DIR/.deployed-sha.tmp" "$REMOTE_DIR/.deployed-sha" -# 只运行已登记的上游后台读取,不启用整个 Laravel 调度器,避免意外启动 -# 账单提醒等既有任务。同一把锁保证快照与业务镜像不会并发施压上游。 +# 只运行已登记的上游后台读取和 E 签宝状态轮询,不启用整个 Laravel +# 调度器,避免意外启动账单提醒等既有任务。不同任务使用独立锁。 # 普通商品优先高频增量,并在配置的每周低峰窗口自动继续全量校准。 cat > /etc/cron.d/caiwu-jiansun-snapshots <<'EOF' * * * * * root /usr/bin/flock -n /run/caiwu-upstream-sync.lock /bin/sh -c '/usr/bin/docker exec -u www-data caiwu_app php artisan business-mirror:sync-product-catalog --quiet; /usr/bin/docker exec -u www-data caiwu_app php artisan business-mirror:sync-product-purchase-prices --quiet; /usr/bin/docker exec -u www-data caiwu_app php artisan business-mirror:sync-store-report --quiet; /usr/bin/docker exec -u www-data caiwu_app php artisan upstream:snapshots:refresh-all --quiet; /usr/bin/docker exec -u www-data caiwu_app php artisan business-mirror:sync-product-prices --quiet; /usr/bin/docker exec -u www-data caiwu_app php artisan business-mirror:sync-tables --quiet' >/dev/null 2>&1 +*/2 * * * * root /usr/bin/flock -n /run/caiwu-esign-polling.lock /usr/bin/docker exec -u www-data caiwu_app php artisan esign:poll-signatures --quiet >/dev/null 2>&1 EOF chmod 644 /etc/cron.d/caiwu-jiansun-snapshots diff --git a/tests/Unit/Deployment/BusinessMirrorScheduleTest.php b/tests/Unit/Deployment/BusinessMirrorScheduleTest.php index a44206b4..c67ab0ef 100644 --- a/tests/Unit/Deployment/BusinessMirrorScheduleTest.php +++ b/tests/Unit/Deployment/BusinessMirrorScheduleTest.php @@ -34,6 +34,10 @@ class BusinessMirrorScheduleTest extends TestCase $this->assertSame(1, substr_count($contents, 'business-mirror:sync-store-report --quiet'), $script); $this->assertStringContainsString('docker exec -u www-data caiwu_app', $contents, $script); $this->assertStringContainsString('/run/caiwu-upstream-sync.lock', $contents, $script); + $this->assertStringContainsString('*/2 * * * * root', $contents, $script); + $this->assertStringContainsString('esign:poll-signatures --quiet', $contents, $script); + $this->assertStringContainsString('/run/caiwu-esign-polling.lock', $contents, $script); + $this->assertSame(1, substr_count($contents, 'esign:poll-signatures --quiet'), $script); } }