diff --git a/pt_site/views.py b/pt_site/views.py
index 5503d62..b49765d 100644
--- a/pt_site/views.py
+++ b/pt_site/views.py
@@ -12,7 +12,7 @@ import requests
import toml
import yaml
from apscheduler.schedulers.background import BackgroundScheduler
-from django_apscheduler.jobstores import DjangoJobStore
+from django_apscheduler.jobstores import DjangoJobStore, register_job
from lxml import etree
from pt_site.UtilityTool import PtSpider, MessageTemplate, FileSizeConvert
@@ -235,21 +235,26 @@ def exec_command(commands):
return result
-def auto_upgrade():
+@register_job(scheduler, 'cron', id='auto_get_upgrade', hour=2, minute=25, replace_existing=True)
+def auto_get_upgrade():
"""程序更新"""
try:
logger.info('开始自动更新')
update_commands = {
# 'cp db/db.sqlite3 db/db.sqlite3-$(date "+%Y%m%d%H%M%S")',
- '更新依赖环境': 'wget -O requirements.txt https://gitee.com/ngfchl/ptools/raw/master/requirements.txt && pip install -r requirements.txt -U',
- '强制覆盖本地': 'git clean -df && git reset --hard',
- '获取更新信息': 'git fetch --all',
+ # '更新依赖环境': 'wget -O requirements.txt https://gitee.com/ngfchl/ptools/raw/master/requirements.txt && pip install -r requirements.txt -U',
+ # '强制覆盖本地': 'git clean -df && git reset --hard',
+ # '获取更新信息': 'git fetch --all',
'拉取代码更新': f'git pull origin {os.getenv("DEV")}',
}
+ sync_commands = {
+ '同步数据库': 'python manage.py migrate',
+ }
logger.info('拉取最新代码')
result = exec_command(update_commands)
logger.info('更新完毕')
- message = f'> 更新完成!!请在接到通知后同步数据库!{datetime.datetime.now()}'
+ result.extend(exec_command(update_commands))
+ message = f'> 更新完成!!{datetime.datetime.now()}'
pt_spider.send_text(title='通知:程序更新', message=message)
return CommonResponse.success(
msg='更新成功!稍后请在接到通知后同步数据库!!',
@@ -263,9 +268,32 @@ def auto_upgrade():
logger.error(msg)
message = f'> {msg}'
pt_spider.send_text(title=msg, message=message)
- return CommonResponse.error(
- msg=msg
+ return CommonResponse.error(msg=msg)
+
+
+@register_job(scheduler, 'cron', id='auto_do_xpath', hour=2, minute=30, replace_existing=True)
+def auto_do_xpath():
+ try:
+ logger.info('开始自动更新')
+ update_commands = {
+ '同步数据库': 'python manage.py migrate',
+ }
+ logger.info('同步数据库')
+ result = exec_command(update_commands)
+ message = f'> 更新完成!!数据库同步完毕!{datetime.datetime.now()}'
+ logger.info(message)
+ pt_spider.send_text(title='通知:程序更新', message=message)
+ return CommonResponse.success(
+ msg=message,
+ data={'result': result}
)
+ except Exception as e:
+ # raise
+ msg = '更新失败!{},请尝试手动同步数据库!'.format(str(e))
+ logger.error(msg)
+ message = f'> {msg}'
+ pt_spider.send_text(title=msg, message=message)
+ return CommonResponse.error(msg=msg)
def auto_update_license():