mirror of
https://github.com/whyour/qinglong.git
synced 2025-05-25 00:16:06 +08:00
修复订阅执行日志输出
This commit is contained in:
parent
906a074634
commit
7f9c9f05b8
|
@ -27,6 +27,7 @@ export interface TaskCallbacks {
|
||||||
endTime: dayjs.Dayjs,
|
endTime: dayjs.Dayjs,
|
||||||
diff: number,
|
diff: number,
|
||||||
) => void;
|
) => void;
|
||||||
|
onLog?: (message: string) => void;
|
||||||
onError?: (message: string) => void;
|
onError?: (message: string) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,9 +49,13 @@ export default class ScheduleService {
|
||||||
|
|
||||||
callbacks.onStart?.(cp, startTime);
|
callbacks.onStart?.(cp, startTime);
|
||||||
|
|
||||||
|
cp.stdout.on('data', (data) => {
|
||||||
|
callbacks.onLog?.(data.toString());
|
||||||
|
});
|
||||||
|
|
||||||
cp.stderr.on('data', (data) => {
|
cp.stderr.on('data', (data) => {
|
||||||
this.logger.error(
|
this.logger.error(
|
||||||
'执行任务%s失败,时间:%s, 错误信息:%j',
|
'执行任务 %s 失败,时间:%s, 错误信息:%j',
|
||||||
command,
|
command,
|
||||||
new Date().toLocaleString(),
|
new Date().toLocaleString(),
|
||||||
data.toString(),
|
data.toString(),
|
||||||
|
@ -60,7 +65,7 @@ export default class ScheduleService {
|
||||||
|
|
||||||
cp.on('error', (err) => {
|
cp.on('error', (err) => {
|
||||||
this.logger.error(
|
this.logger.error(
|
||||||
'执行任务%s失败,时间:%s, 错误信息:%j',
|
'创建任务 %s 失败,时间:%s, 错误信息:%j',
|
||||||
command,
|
command,
|
||||||
new Date().toLocaleString(),
|
new Date().toLocaleString(),
|
||||||
err,
|
err,
|
||||||
|
|
|
@ -181,6 +181,11 @@ export default class SubscriptionService {
|
||||||
const absolutePath = await this.handleLogPath(sub.log_path as string);
|
const absolutePath = await this.handleLogPath(sub.log_path as string);
|
||||||
fs.appendFileSync(absolutePath, `\n${message}`);
|
fs.appendFileSync(absolutePath, `\n${message}`);
|
||||||
},
|
},
|
||||||
|
onLog: async (message: string) => {
|
||||||
|
const sub = await this.getDb({ id: doc.id });
|
||||||
|
const absolutePath = await this.handleLogPath(sub.log_path as string);
|
||||||
|
fs.appendFileSync(absolutePath, `\n${message}`);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -529,7 +529,9 @@ main() {
|
||||||
esac
|
esac
|
||||||
local end_time=$(date '+%Y-%m-%d %H:%M:%S')
|
local end_time=$(date '+%Y-%m-%d %H:%M:%S')
|
||||||
local diff_time=$(($(date +%s -d "$end_time") - $(date +%s -d "$begin_time")))
|
local diff_time=$(($(date +%s -d "$end_time") - $(date +%s -d "$begin_time")))
|
||||||
echo -e "\n## 执行结束... $end_time 耗时 $diff_time 秒" >>$log_path
|
if [[ $p1 != "repo" ]] && [[ $p1 != "raw" ]]; then
|
||||||
|
echo -e "\n## 执行结束... $end_time 耗时 $diff_time 秒" >>$log_path
|
||||||
|
fi
|
||||||
cat $log_path
|
cat $log_path
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ import { init } from '../utils/init';
|
||||||
export default function (props: any) {
|
export default function (props: any) {
|
||||||
const ctx = useCtx();
|
const ctx = useCtx();
|
||||||
const theme = useTheme();
|
const theme = useTheme();
|
||||||
const [user, setUser] = useState<any>();
|
const [user, setUser] = useState<any>({});
|
||||||
const [loading, setLoading] = useState<boolean>(true);
|
const [loading, setLoading] = useState<boolean>(true);
|
||||||
const [systemInfo, setSystemInfo] = useState<{ isInitialized: boolean }>();
|
const [systemInfo, setSystemInfo] = useState<{ isInitialized: boolean }>();
|
||||||
const ws = useRef<any>(null);
|
const ws = useRef<any>(null);
|
||||||
|
|
|
@ -99,7 +99,7 @@ const SecuritySettings = ({ user, userChange }: any) => {
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTwoFactorActivated(user && user.twoFactorActivated);
|
setTwoFactorActivated(user && user.twoFactorActivated);
|
||||||
setAvatar(user && `/api/static/${user.avatar}`);
|
setAvatar(user.avatar && `/api/static/${user.avatar}`);
|
||||||
}, [user]);
|
}, [user]);
|
||||||
|
|
||||||
return twoFactoring ? (
|
return twoFactoring ? (
|
||||||
|
|
Loading…
Reference in New Issue
Block a user