Preview: Runner-Schutzschalter 503 als Server ausgelastet durchreichen
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b3cf78c82a
commit
cd9a6e0cf1
2 files changed
+18
-3
No files matched your search
@@ -13,6 +13,7 @@ import { getRepoInfo } from '../../services/giteaAdmin.js'
|
||||
const router = Router()
|
||||
router.use(requireAppwriteStaff)
|
||||
|
||||
const BUSY = 'Server ausgelastet, versuche es gleich noch mal'
|
||||
const MODES = ['auto', 'build', 'dev', 'off']
|
||||
const SHA_RE = /^[0-9a-f]{7,40}$/
|
||||
|
||||
@@ -74,13 +75,17 @@ async function triggerRebuild(doc) {
|
||||
branch,
|
||||
subdomain: doc.subdomain,
|
||||
}
|
||||
return runDeploy(repo, branch, cfg, { project: doc })
|
||||
const result = await runDeploy(repo, branch, cfg, { project: doc })
|
||||
// runDeploy meldet Runner-Fehler im Ergebnis; Schutzschalter (503) an WOMS durchreichen
|
||||
if (result?.error && /Server ausgelastet/.test(result.error)) throw fail(503, BUSY)
|
||||
return result
|
||||
}
|
||||
|
||||
const wrap = (fn) => async (req, res) => {
|
||||
try {
|
||||
await fn(req, res)
|
||||
} catch (err) {
|
||||
if (!err.expected && err.status === 503) return res.status(503).json({ error: BUSY })
|
||||
const status = err.expected ? err.status : 500
|
||||
if (!err.expected) console.error('[admin/preview]', err.message)
|
||||
res.status(status).json({ error: !err.expected ? 'Preview-Aktion fehlgeschlagen' : err.message })
|
||||
|
||||
Reference in new issue
Block a user