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