fix(schedule): 條目長度那道警告本來說不出話
新加的長度閘門用了 warn 來報「距離上限不到 100」,而這一支只定義 note。 殼回一句「warn: not found」到 stderr,那句提醒一次都沒印出來。 一道說不出話的檢核,跟沒有那道檢核是同一件事——而且它連自己壞了都只在 stderr 留一行,正常輸出上看不出任何異常。 修掉之後它第一次開口就說出一件要處理的事:這台機器的條目有 973 個位元組, 距上限只剩 27。長度大半來自 wiki 存取庫那一系列變數的快照,一支約 40 個 位元組——再多一支頁型變數就裝不起來,而那一次只會回 command too long。 所以訊息裡把這個來源講出來,人才知道要縮哪裡。 這一支之前就踩過同一個坑(另一段檢核也寫了 warn),所以註解裡寫明它只有 note,沒有 warn。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jsc-assist",
|
"name": "jsc-assist",
|
||||||
"version": "0.3.5",
|
"version": "0.3.6",
|
||||||
"description": "助理:事件收攏、健康巡檢與待辦簿(MONITOR_{HASH} wiki 頁)",
|
"description": "助理:事件收攏、健康巡檢與待辦簿(MONITOR_{HASH} wiki 頁)",
|
||||||
"skills": "./skills",
|
"skills": "./skills",
|
||||||
"author": {
|
"author": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jsc-assist",
|
"name": "jsc-assist",
|
||||||
"version": "0.3.5",
|
"version": "0.3.6",
|
||||||
"description": "助理:事件收攏、健康巡檢與待辦簿(MONITOR_{HASH} wiki 頁)",
|
"description": "助理:事件收攏、健康巡檢與待辦簿(MONITOR_{HASH} wiki 頁)",
|
||||||
"skills": "./skills",
|
"skills": "./skills",
|
||||||
"jsc": {
|
"jsc": {
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jsc-assist",
|
"name": "jsc-assist",
|
||||||
"version": "0.3.5",
|
"version": "0.3.6",
|
||||||
"description": "助理:事件收攏、健康巡檢與待辦簿(MONITOR_{HASH} wiki 頁)",
|
"description": "助理:事件收攏、健康巡檢與待辦簿(MONITOR_{HASH} wiki 頁)",
|
||||||
"skills": "./skills/",
|
"skills": "./skills/",
|
||||||
"jsc": {
|
"jsc": {
|
||||||
|
|||||||
+4
-1
@@ -731,8 +731,11 @@ crontab_install() {
|
|||||||
if [ "$_len" -ge "$CRON_LINE_MAX" ]; then
|
if [ "$_len" -ge "$CRON_LINE_MAX" ]; then
|
||||||
die 4 "$_job 的條目有 $_len 個位元組,達到 cron 一行的上限 $CRON_LINE_MAX,這一批裝不進去。條目長度的來源是環境變數快照($SNAPSHOT_NAMES)與 PATH 快照——先看哪一個值特別長,多半是掃描起點或排除清單寫得太長。縮短那個值,或用 JSC_ASSIST_CRON_LINE_MAX 覆寫上限(覆寫之前先確認這台機器的 cron 真的收得下)。"
|
die 4 "$_job 的條目有 $_len 個位元組,達到 cron 一行的上限 $CRON_LINE_MAX,這一批裝不進去。條目長度的來源是環境變數快照($SNAPSHOT_NAMES)與 PATH 快照——先看哪一個值特別長,多半是掃描起點或排除清單寫得太長。縮短那個值,或用 JSC_ASSIST_CRON_LINE_MAX 覆寫上限(覆寫之前先確認這台機器的 cron 真的收得下)。"
|
||||||
fi
|
fi
|
||||||
|
# 這一支只定義 note,沒有 warn。這裡本來寫 warn,於是殼回一句「warn: not found」而那句
|
||||||
|
# 提醒一次都沒印出來——條目長到 973 個位元組、距上限只剩 27,而該說話的那道檢核是啞的。
|
||||||
|
# 一道說不出話的檢核跟沒有那道檢核是同一件事,而且它連自己壞了都只在 stderr 留一行。
|
||||||
if [ "$_len" -ge $((CRON_LINE_MAX - 100)) ]; then
|
if [ "$_len" -ge $((CRON_LINE_MAX - 100)) ]; then
|
||||||
warn "$_job 的條目有 $_len 個位元組,距離 cron 一行的上限 $CRON_LINE_MAX 不到 100。再多加一個環境變數快照就會裝不進去,而那一次的錯誤訊息只會說 command too long。"
|
note "$_job 的條目有 $_len 個位元組,距離 cron 一行的上限 $CRON_LINE_MAX 不到 100。再多加一個環境變數快照就會裝不進去,而那一次的錯誤訊息只會說 command too long。條目長度大半來自 wiki 存取庫那一系列變數的快照,一支約 40 個位元組。"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user