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
}
}
oldDir, err := os.Getwd()
stdout, err := cmd.ExecCronjobWithTimeOut(script, handleDir, 24*time.Hour)
if err != nil {
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
}

View file

@ -67,10 +67,11 @@ func ExecWithTimeOut(cmdStr string, timeout time.Duration) (string, error) {
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)
defer cancel()
cmd := exec.Command("bash", "-c", cmdStr)
cmd.Dir = workdir
var stdout, stderr bytes.Buffer
cmd.Stdout = &stdout
cmd.Stderr = &stderr

View file

@ -231,12 +231,23 @@
<template #label>
<span class="status-label">{{ $t('cronjob.exclusionRules') }}</span>
</template>
<div v-if="dialogData.rowData!.exclusionRules">
<div v-for="item in dialogData.rowData!.exclusionRules.split(';')" :key="item">
<el-tag>{{ item }}</el-tag>
</div>
<span v-if="dialogData.rowData!.exclusionRules.length <= 12" class="status-count">
{{ dialogData.rowData!.exclusionRules }}
</span>
<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>
<span class="status-count" v-else>-</span>
</el-form-item>
<el-row type="flex" justify="center">
<el-form-item class="descriptionWide">