mirror of
https://github.com/whyour/qinglong.git
synced 2025-12-15 08:25:38 +08:00
Add QLAPI auto-initialization for Python and format code
Co-authored-by: whyour <22700758+whyour@users.noreply.github.com>
This commit is contained in:
parent
6dbd980881
commit
16b20e8b54
|
|
@ -10,23 +10,25 @@ if (typeof QLAPI === 'undefined') {
|
|||
const path = require('path');
|
||||
const qlDir = process.env.QL_DIR || '/ql';
|
||||
const preloadDir = path.join(qlDir, 'shell/preload');
|
||||
|
||||
|
||||
try {
|
||||
// Load the notify function
|
||||
const notifyPath = path.join(preloadDir, '__ql_notify__.js');
|
||||
const { sendNotify } = require(notifyPath);
|
||||
|
||||
|
||||
// Load the gRPC client
|
||||
const clientPath = path.join(preloadDir, 'client.js');
|
||||
const client = require(clientPath);
|
||||
|
||||
|
||||
// Create global QLAPI object
|
||||
global.QLAPI = {
|
||||
notify: sendNotify,
|
||||
...client,
|
||||
};
|
||||
} catch (error) {
|
||||
console.error('Failed to initialize QLAPI. Please run this script using the "task" command or add it as a scheduled task.');
|
||||
console.error(
|
||||
'Failed to initialize QLAPI. Please run this script using the "task" command or add it as a scheduled task.',
|
||||
);
|
||||
console.error('Example: task ql_sample.js');
|
||||
console.error('Error details:', error.message);
|
||||
process.exit(1);
|
||||
|
|
@ -48,11 +50,13 @@ QLAPI.getCrons({ searchValue: 'test' }).then((x) => {
|
|||
});
|
||||
|
||||
// 通过ID查询定时任务 (Get cron by ID)
|
||||
QLAPI.getCronById({ id: 1 }).then((x) => {
|
||||
console.log('getCronById', x);
|
||||
}).catch((err) => {
|
||||
console.log('getCronById error', err);
|
||||
});
|
||||
QLAPI.getCronById({ id: 1 })
|
||||
.then((x) => {
|
||||
console.log('getCronById', x);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log('getCronById error', err);
|
||||
});
|
||||
|
||||
// 启用定时任务 (Enable cron tasks)
|
||||
QLAPI.enableCrons({ ids: [1, 2] }).then((x) => {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,35 @@ name: script name
|
|||
cron: 1 9 * * *
|
||||
"""
|
||||
|
||||
# Initialize QLAPI if not already loaded (for direct python execution)
|
||||
try:
|
||||
QLAPI
|
||||
except NameError:
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
ql_dir = os.getenv('QL_DIR', '/ql')
|
||||
preload_dir = Path(ql_dir) / 'shell' / 'preload'
|
||||
|
||||
# Add preload directory to Python path
|
||||
sys.path.insert(0, str(preload_dir))
|
||||
|
||||
try:
|
||||
from __ql_notify__ import send
|
||||
from client import Client
|
||||
|
||||
class BaseApi(Client):
|
||||
def notify(self, *args, **kwargs):
|
||||
return send(*args, **kwargs)
|
||||
|
||||
QLAPI = BaseApi()
|
||||
except Exception as error:
|
||||
print('Failed to initialize QLAPI. Please run this script using the "task" command or add it as a scheduled task.')
|
||||
print('Example: task ql_sample.py')
|
||||
print(f'Error details: {error}')
|
||||
sys.exit(1)
|
||||
|
||||
print("test script")
|
||||
print(QLAPI.notify("test script", "test desc"))
|
||||
print("test systemNotify")
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user