mirror of
https://github.com/whyour/qinglong.git
synced 2025-05-23 23:06:06 +08:00
修复cron日志显示
This commit is contained in:
parent
f9c299cfbe
commit
9a1891c909
|
@ -105,7 +105,7 @@ function Npm_InstallSub() {
|
||||||
npm install --no-save --registry=https://registry.npm.taobao.org || npm install --no-save
|
npm install --no-save --registry=https://registry.npm.taobao.org || npm install --no-save
|
||||||
else
|
else
|
||||||
echo -e "检测到本机安装了 yarn,使用 yarn 替代 npm...\n"
|
echo -e "检测到本机安装了 yarn,使用 yarn 替代 npm...\n"
|
||||||
yarn install --registry=https://registry.npm.taobao.org || yarn install
|
yarn install --registry=https://registry.npm.taobao.org --network-timeout 1000000000 || yarn install
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -120,8 +120,7 @@ const Crontab = () => {
|
||||||
<Tooltip title="日志">
|
<Tooltip title="日志">
|
||||||
<a
|
<a
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setLogCron(record);
|
setLogCron({ ...record, timestamp: Date.now() });
|
||||||
setIsLogModalVisible(true);
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<FileTextOutlined />
|
<FileTextOutlined />
|
||||||
|
@ -386,6 +385,12 @@ const Crontab = () => {
|
||||||
.finally(() => setLoading(false));
|
.finally(() => setLoading(false));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (logCron) {
|
||||||
|
setIsLogModalVisible(true);
|
||||||
|
}
|
||||||
|
}, [logCron]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getCrons();
|
getCrons();
|
||||||
}, [searchText]);
|
}, [searchText]);
|
||||||
|
|
|
@ -20,12 +20,37 @@ const CronLogModal = ({
|
||||||
}) => {
|
}) => {
|
||||||
const [value, setValue] = useState<string>('启动中...');
|
const [value, setValue] = useState<string>('启动中...');
|
||||||
const [logTimer, setLogTimer] = useState<any>();
|
const [logTimer, setLogTimer] = useState<any>();
|
||||||
|
const [loading, setLoading] = useState<any>(true);
|
||||||
|
|
||||||
const getCronLog = () => {
|
const getCronLog = (isFirst?: boolean) => {
|
||||||
|
if (isFirst) {
|
||||||
|
setLoading(true);
|
||||||
|
}
|
||||||
request
|
request
|
||||||
.get(`${config.apiPrefix}crons/${cron._id}/log`)
|
.get(`${config.apiPrefix}crons/${cron._id}/log`)
|
||||||
.then((data: any) => {
|
.then((data: any) => {
|
||||||
setValue(data.data || '暂无日志');
|
const log = data.data as string;
|
||||||
|
setValue(log || '暂无日志');
|
||||||
|
if (log.includes('执行结束')) {
|
||||||
|
if (logTimer) {
|
||||||
|
clearInterval(logTimer);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const timer = setInterval(() => {
|
||||||
|
getCronLog();
|
||||||
|
}, 2000);
|
||||||
|
setLogTimer(timer);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
if (logTimer) {
|
||||||
|
clearInterval(logTimer);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
if (isFirst) {
|
||||||
|
setLoading(false);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -36,10 +61,7 @@ const CronLogModal = ({
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (cron) {
|
if (cron) {
|
||||||
const timer = setInterval(() => {
|
getCronLog(true);
|
||||||
getCronLog();
|
|
||||||
}, 2000);
|
|
||||||
setLogTimer(timer);
|
|
||||||
}
|
}
|
||||||
}, [cron]);
|
}, [cron]);
|
||||||
|
|
||||||
|
@ -50,7 +72,6 @@ const CronLogModal = ({
|
||||||
forceRender
|
forceRender
|
||||||
onOk={() => cancel()}
|
onOk={() => cancel()}
|
||||||
onCancel={() => cancel()}
|
onCancel={() => cancel()}
|
||||||
destroyOnClose
|
|
||||||
>
|
>
|
||||||
<pre style={{ whiteSpace: 'pre-wrap', wordWrap: 'break-word' }}>
|
<pre style={{ whiteSpace: 'pre-wrap', wordWrap: 'break-word' }}>
|
||||||
{value}
|
{value}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user