diff --git a/sample/ql_sample.js b/sample/ql_sample.js index 34870e6b..64053198 100644 --- a/sample/ql_sample.js +++ b/sample/ql_sample.js @@ -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) => { diff --git a/sample/ql_sample.py b/sample/ql_sample.py index 8135e4c7..af7fb87a 100644 --- a/sample/ql_sample.py +++ b/sample/ql_sample.py @@ -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")