1
0
mirror of https://github.com/1Panel-dev/1Panel.git synced 2025-03-14 01:34:47 +08:00

fix: 工作目录切换逻辑修改 (#1269)

This commit is contained in:
ssongliu 2023-06-06 18:29:22 +08:00 committed by GitHub
parent 08992f83b5
commit 633e26b1de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 17 deletions

View File

@ -79,20 +79,10 @@ func (u *CronjobService) handleShell(cronType, cornName, script string) ([]byte,
return nil, err return nil, err
} }
} }
oldDir, err := os.Getwd() stdout, err := cmd.ExecCronjobWithTimeOut(script, handleDir, 24*time.Hour)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if err := os.Chdir(handleDir); err != nil {
return nil, err
}
stdout, err := cmd.ExecCronjobWithTimeOut(script, 24*time.Hour)
if err != nil {
return nil, err
}
if err := os.Chdir(oldDir); err != nil {
return nil, err
}
return []byte(stdout), nil return []byte(stdout), nil
} }

View File

@ -67,10 +67,11 @@ func ExecWithTimeOut(cmdStr string, timeout time.Duration) (string, error) {
return stdout.String(), nil return stdout.String(), nil
} }
func ExecCronjobWithTimeOut(cmdStr string, timeout time.Duration) (string, error) { func ExecCronjobWithTimeOut(cmdStr string, workdir string, timeout time.Duration) (string, error) {
ctx, cancel := context.WithTimeout(context.Background(), timeout) ctx, cancel := context.WithTimeout(context.Background(), timeout)
defer cancel() defer cancel()
cmd := exec.Command("bash", "-c", cmdStr) cmd := exec.Command("bash", "-c", cmdStr)
cmd.Dir = workdir
var stdout, stderr bytes.Buffer var stdout, stderr bytes.Buffer
cmd.Stdout = &stdout cmd.Stdout = &stdout
cmd.Stderr = &stderr cmd.Stderr = &stderr

View File

@ -231,12 +231,23 @@
<template #label> <template #label>
<span class="status-label">{{ $t('cronjob.exclusionRules') }}</span> <span class="status-label">{{ $t('cronjob.exclusionRules') }}</span>
</template> </template>
<div v-if="dialogData.rowData!.exclusionRules"> <span v-if="dialogData.rowData!.exclusionRules.length <= 12" class="status-count">
<div v-for="item in dialogData.rowData!.exclusionRules.split(';')" :key="item"> {{ dialogData.rowData!.exclusionRules }}
<el-tag>{{ item }}</el-tag> </span>
</div> <div v-else>
<el-popover
placement="top-start"
trigger="hover"
width="250"
:content="dialogData.rowData!.exclusionRules"
>
<template #reference>
<span class="status-count">
{{ dialogData.rowData!.exclusionRules.substring(0, 12) }}...
</span>
</template>
</el-popover>
</div> </div>
<span class="status-count" v-else>-</span>
</el-form-item> </el-form-item>
<el-row type="flex" justify="center"> <el-row type="flex" justify="center">
<el-form-item class="descriptionWide"> <el-form-item class="descriptionWide">