服務管理
睇晒伺服器喺背景跑緊嘅每一個服務,熄其中一個,或者即刻跑一次某個工作。
概覽
媒體伺服器大部分嘢都係喺冇人望住嗰陣做嘅:更新 RSS、對數媒體庫、派通知、應付外部播放器。設定 › 服務將呢啲全部擺喺同一頁——乜嘢跑緊、上次幾時跑、跑咗幾耐、出咗乜錯。
列咗啲乜
| 類型 | 例子 |
|---|---|
| API | Infuse、VLC、Kodi、mpv 用嘅 Jellyfin 相容層。 |
| Worker | 排程器嘅定時工作——RSS 更新、下載同步、媒體庫對數、通知投遞、播出提醒、每日摘要、AniDB 對應更新、觀看同步嗰幾個工作、通知清理。 |
| Daemon | 下載器、轉碼快取、觀看同步、偏好備份。 |
| Bot | Telegram 同 Discord 機械人。 |
每一行都帶住佢嘅排程、有冇啟用、而家係咪跑緊、上次幾時跑同跑咗幾耐、嗰次嘅錯誤(如果有),仲有下次幾時到期。
熄一個服務
大部分服務都有掣。熄咗嘅 worker 唔會再被排程;熄咗嘅 bot 會斷線;熄咗嘅 Jellyfin 層對所有路由回 503,仲會停埋區域網路探索回應器,外部播放器就唔會再喺網絡上搵到呢部伺服器。
下載同步同通知投遞熄唔到——冇咗佢哋伺服器嘅狀態就唔再一致。
即刻跑一次
任何 worker 都可以即刻執行,唔使等下一個 tick——呢個係驗證改動最快嘅方法:存一條 RSS 規則,跑一次 RSS 更新,睇下佢配到啲乜。已經跑緊嘅工作唔會俾你開多次。
呢一頁係即時嘅:服務開始、完成同開關都會經 WebSocket 推去所有連住嘅客戶端,所以喺 Mac App 撳落去嘅工作,喺瀏覽器度一樣會見到跑緊。
工作失敗嗰陣
失敗嘅一次執行會將錯誤記喺個服務度,同時發一則 system.service_failed 通知;呢個通知有限流,所以每分鐘都失敗嘅工作唔會浸沒通知中心。想離開咗伺服器都收到,就喺設定 › 通知將呢個事件路由去 Telegram 或者 Discord。
外部播放器
Jellyfin 嗰段會列出登入過嘅裝置——客戶端名、裝置名、第一次出現同最後活動嘅時間。撤銷其中一部只會令嗰部裝置嘅 token 失效,其他 session 照用,因為 token 而家會記住佢係派俾邊部裝置嘅。
API
GET /api/v1/system/services 列出以上全部,PATCH /api/v1/system/services/{id} 啟用或者停用其中一個,POST /api/v1/system/services/{id}/run 觸發一次工作。裝置喺 /api/v1/system/services/jellyfin/devices。睇 API 參考。