mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-10-06 05:24:33 +08:00
parent
f8f47b51e9
commit
4df0c3e461
14 changed files with 118 additions and 83 deletions
|
@ -120,11 +120,9 @@ func (u *BackupService) Create(req dto.BackupOperate) error {
|
|||
if err := backupRepo.Create(&backup); err != nil {
|
||||
return err
|
||||
}
|
||||
go func() {
|
||||
if err := xpack.Sync(constant.SyncBackupAccounts); err != nil {
|
||||
global.LOG.Errorf("sync backup account to node failed, err: %v", err)
|
||||
}
|
||||
}()
|
||||
if err := xpack.Sync(constant.SyncBackupAccounts); err != nil {
|
||||
global.LOG.Errorf("sync backup account to node failed, err: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -179,12 +177,13 @@ func (u *BackupService) Delete(name string) error {
|
|||
return buserr.New("ErrBackupInUsed")
|
||||
}
|
||||
|
||||
go func() {
|
||||
if err := xpack.Sync(constant.SyncBackupAccounts); err != nil {
|
||||
global.LOG.Errorf("sync backup account to node failed, err: %v", err)
|
||||
}
|
||||
}()
|
||||
return backupRepo.Delete(repo.WithByName(name))
|
||||
if err := backupRepo.Delete(repo.WithByName(name)); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := xpack.Sync(constant.SyncBackupAccounts); err != nil {
|
||||
global.LOG.Errorf("sync backup account to node failed, err: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (u *BackupService) Update(req dto.BackupOperate) error {
|
||||
|
@ -241,11 +240,9 @@ func (u *BackupService) Update(req dto.BackupOperate) error {
|
|||
if err := backupRepo.Save(&newBackup); err != nil {
|
||||
return err
|
||||
}
|
||||
go func() {
|
||||
if err := xpack.Sync(constant.SyncBackupAccounts); err != nil {
|
||||
global.LOG.Errorf("sync backup account to node failed, err: %v", err)
|
||||
}
|
||||
}()
|
||||
if err := xpack.Sync(constant.SyncBackupAccounts); err != nil {
|
||||
global.LOG.Errorf("sync backup account to node failed, err: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -285,11 +282,9 @@ func (u *BackupService) RefreshToken(req dto.OperateByName) error {
|
|||
if err := backupRepo.Save(&backup); err != nil {
|
||||
return err
|
||||
}
|
||||
go func() {
|
||||
if err := xpack.Sync(constant.SyncBackupAccounts); err != nil {
|
||||
global.LOG.Errorf("sync backup account to node failed, err: %v", err)
|
||||
}
|
||||
}()
|
||||
if err := xpack.Sync(constant.SyncBackupAccounts); err != nil {
|
||||
global.LOG.Errorf("sync backup account to node failed, err: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -118,14 +118,12 @@ func (u *ScriptService) Create(req dto.ScriptOperate) error {
|
|||
if err := scriptRepo.Create(&itemData); err != nil {
|
||||
return err
|
||||
}
|
||||
go func() {
|
||||
if req.IsInteractive {
|
||||
return
|
||||
}
|
||||
if err := xpack.Sync(constant.SyncScripts); err != nil {
|
||||
global.LOG.Errorf("sync scripts to node failed, err: %v", err)
|
||||
}
|
||||
}()
|
||||
if req.IsInteractive {
|
||||
return nil
|
||||
}
|
||||
if err := xpack.Sync(constant.SyncScripts); err != nil {
|
||||
global.LOG.Errorf("sync scripts to node failed, err: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -139,11 +137,9 @@ func (u *ScriptService) Delete(req dto.OperateByIDs) error {
|
|||
return err
|
||||
}
|
||||
}
|
||||
go func() {
|
||||
if err := xpack.Sync(constant.SyncScripts); err != nil {
|
||||
global.LOG.Errorf("sync scripts to node failed, err: %v", err)
|
||||
}
|
||||
}()
|
||||
if err := xpack.Sync(constant.SyncScripts); err != nil {
|
||||
global.LOG.Errorf("sync scripts to node failed, err: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -161,11 +157,9 @@ func (u *ScriptService) Update(req dto.ScriptOperate) error {
|
|||
if err := scriptRepo.Update(req.ID, updateMap); err != nil {
|
||||
return err
|
||||
}
|
||||
go func() {
|
||||
if err := xpack.Sync(constant.SyncScripts); err != nil {
|
||||
global.LOG.Errorf("sync scripts to node failed, err: %v", err)
|
||||
}
|
||||
}()
|
||||
if err := xpack.Sync(constant.SyncScripts); err != nil {
|
||||
global.LOG.Errorf("sync scripts to node failed, err: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -245,11 +239,9 @@ func (u *ScriptService) Sync(req dto.OperateByTaskID) error {
|
|||
if err := global.DB.Model(&model.Setting{}).Where("key = ?", "ScriptVersion").Updates(map[string]interface{}{"value": string(versionRes)}).Error; err != nil {
|
||||
return fmt.Errorf("update script version in db failed, err: %v", err)
|
||||
}
|
||||
go func() {
|
||||
if err := xpack.Sync(constant.SyncScripts); err != nil {
|
||||
global.LOG.Errorf("sync scripts to node failed, err: %v", err)
|
||||
}
|
||||
}()
|
||||
if err := xpack.Sync(constant.SyncScripts); err != nil {
|
||||
global.LOG.Errorf("sync scripts to node failed, err: %v", err)
|
||||
}
|
||||
return nil
|
||||
}, nil)
|
||||
|
||||
|
|
|
@ -142,11 +142,9 @@ func (u *SettingService) Update(key, value string) error {
|
|||
case "UserName", "Password":
|
||||
_ = global.SESSION.Clean()
|
||||
case "Language":
|
||||
go func() {
|
||||
if err := xpack.Sync(constant.SyncLanguage); err != nil {
|
||||
global.LOG.Errorf("sync language to node failed, err: %v", err)
|
||||
}
|
||||
}()
|
||||
if err := xpack.Sync(constant.SyncLanguage); err != nil {
|
||||
global.LOG.Errorf("sync language to node failed, err: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -215,15 +213,13 @@ func (u *SettingService) UpdateProxy(req dto.ProxyUpdate) error {
|
|||
if err := xpack.ProxyDocker(loadDockerProxy(req)); err != nil {
|
||||
return err
|
||||
}
|
||||
go func() {
|
||||
syncScope := constant.SyncSystemProxy
|
||||
if req.WithDockerRestart {
|
||||
syncScope = constant.SyncSystemProxyWithRestartDocker
|
||||
}
|
||||
if err := xpack.Sync(syncScope); err != nil {
|
||||
global.LOG.Errorf("sync proxy to node failed, err: %v", err)
|
||||
}
|
||||
}()
|
||||
syncScope := constant.SyncSystemProxy
|
||||
if req.WithDockerRestart {
|
||||
syncScope = constant.SyncSystemProxyWithRestartDocker
|
||||
}
|
||||
if err := xpack.Sync(syncScope); err != nil {
|
||||
global.LOG.Errorf("sync proxy to node failed, err: %v", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -102,13 +102,19 @@ DownloadPackage: "Downloading script library package"
|
|||
AnalyticCompletion: "Analysis completed, now syncing to database..."
|
||||
|
||||
Node: "Node"
|
||||
SyncNode: "Sync node data"
|
||||
SyncNode: "Sync data to node {{ .name }}"
|
||||
LocalName: "'local' name is only used for system local identification"
|
||||
SyncPackageData: "Package sync data [{{ .detail }}]"
|
||||
SyncPackageData: "Package sync data"
|
||||
SyncPackageEncrypt: "Data package encryption"
|
||||
SyncRequest: "Request node sync API"
|
||||
SyncFailedRetry: "Node data sync timeout (attempt {{ .index }}), retrying..."
|
||||
SyncFailed: "Sync failed, please manually sync in the node list!"
|
||||
SyncSystemProxy: "System Proxy Settings"
|
||||
SyncScripts: "Script Library"
|
||||
SyncBackupAccounts: "Backup Accounts"
|
||||
SyncAlertSetting: "Alert Settings"
|
||||
SyncCustomApp: "Custom App"
|
||||
SyncLanguage: "System Language"
|
||||
|
||||
#upgrade node
|
||||
NodeUpgrade: "Upgrade node {{ .name }}"
|
||||
|
|
|
@ -103,13 +103,19 @@ DownloadPackage: "スクリプトライブラリパッケージをダウンロ
|
|||
AnalyticCompletion: "解析が完了しました、データベースに同期しています..."
|
||||
|
||||
Node: "ノード"
|
||||
SyncNode: "ノードデータ同期"
|
||||
SyncNode: "データをノード {{ .name }} に同期"
|
||||
LocalName: "'local'名称はシステムのローカル識別のみに使用されます"
|
||||
SyncPackageData: "同期データのパッケージ化 [{{ .detail }}]"
|
||||
SyncPackageData: "同期データのパッケージ化"
|
||||
SyncPackageEncrypt: "データパッケージの暗号化"
|
||||
SyncRequest: "ノード同期APIをリクエスト"
|
||||
SyncFailedRetry: "ノードデータ同期タイムアウト ({{ .index }}回目)、再試行中..."
|
||||
SyncFailed: "同期に失敗しました、ノードリストで手動同期してください!"
|
||||
SyncSystemProxy: "システムプロキシ設定"
|
||||
SyncScripts: "スクリプトライブラリ"
|
||||
SyncBackupAccounts: "バックアップアカウント"
|
||||
SyncAlertSetting: "アラート設定"
|
||||
SyncCustomApp: "カスタムアプリ"
|
||||
SyncLanguage: "システム言語"
|
||||
|
||||
#upgrade node
|
||||
NodeUpgrade: "{{ .name }} ノードのアップグレード"
|
||||
|
|
|
@ -102,13 +102,19 @@ DownloadPackage: "스크립트 라이브러리 패키지 다운로드 중"
|
|||
AnalyticCompletion: "분석 완료, 데이터베이스에 동기화 중..."
|
||||
|
||||
Node: "노드"
|
||||
SyncNode: "노드 데이터 동기화"
|
||||
SyncNode: "데이터를 노드 {{ .name }}(으)로 동기화"
|
||||
LocalName: "'local' 이름은 시스템 로컬 식별 전용으로 사용됩니다"
|
||||
SyncPackageData: "동기화 데이터 패키징 [{{ .detail }}]"
|
||||
SyncPackageData: "동기화 데이터 패키징"
|
||||
SyncPackageEncrypt: "데이터 패키지 암호화"
|
||||
SyncRequest: "노드 동기화 API 요청"
|
||||
SyncFailedRetry: "노드 데이터 동기화 시간 초과 ({{ .index }}번째 시도), 재시도 중..."
|
||||
SyncFailed: "동기화 실패, 노드 목록에서 수동 동기화를 실행하세요!"
|
||||
SyncSystemProxy: "시스템 프록시 설정"
|
||||
SyncScripts: "스크립트 라이브러리"
|
||||
SyncBackupAccounts: "백업 계정"
|
||||
SyncAlertSetting: "알림 설정"
|
||||
SyncCustomApp: "사용자 정의 앱"
|
||||
SyncLanguage: "시스템 언어"
|
||||
|
||||
#upgrade node
|
||||
NodeUpgrade: "{{ .name }} 노드 업그레이드"
|
||||
|
|
|
@ -102,13 +102,19 @@ DownloadPackage: "Muat turun pakej pustaka skrip"
|
|||
AnalyticCompletion: "Analisis selesai, sedang menyegerakkan ke pangkalan data..."
|
||||
|
||||
Node: "Nod"
|
||||
SyncNode: "Segerakkan data nod"
|
||||
SyncNode: "Selaraskan data ke nod {{ .name }}"
|
||||
LocalName: "Nama 'local' hanya digunakan untuk pengenalpastian tempatan sistem"
|
||||
SyncPackageData: "Pakej data segerak [{{ .detail }}]"
|
||||
SyncPackageData: "Pakej data segerak"
|
||||
SyncPackageEncrypt: "Enkripsi pakej data"
|
||||
SyncRequest: "Permintaan API segerak nod"
|
||||
SyncFailedRetry: "Segerakan data nod tamat masa (percubaan ke-{{ .index }}), mencuba semula..."
|
||||
SyncFailed: "Segerakan gagal, sila segerakkan secara manual dalam senarai nod!"
|
||||
SyncSystemProxy: "Tetapan Proksi Sistem"
|
||||
SyncScripts: "Pustaka Skrip"
|
||||
SyncBackupAccounts: "Akaun Sandaran"
|
||||
SyncAlertSetting: "Tetapan Amaran"
|
||||
SyncCustomApp: "Aplikasi Tersuai"
|
||||
SyncLanguage: "Bahasa Sistem"
|
||||
|
||||
#upgrade node
|
||||
NodeUpgrade: "Naik taraf node {{ .name }}"
|
||||
|
|
|
@ -102,13 +102,19 @@ DownloadPackage: "Baixando pacote da biblioteca de scripts"
|
|||
AnalyticCompletion: "Análise concluída, agora sincronizando com o banco de dados..."
|
||||
|
||||
Node: "Nó"
|
||||
SyncNode: "Sincronizar dados do nó"
|
||||
SyncNode: "Sincronizar dados para o nó {{ .name }}"
|
||||
LocalName: "O nome 'local' é usado apenas para identificação local do sistema"
|
||||
SyncPackageData: "Empacotar dados de sincronização [{{ .detail }}]"
|
||||
SyncPackageData: "Empacotar dados de sincronização"
|
||||
SyncPackageEncrypt: "Criptografia de pacote de dados"
|
||||
SyncRequest: "Solicitar API de sincronização de nó"
|
||||
SyncFailedRetry: "Tempo esgotado na sincronização de dados do nó (tentativa {{ .index }}), tentando novamente..."
|
||||
SyncFailed: "Falha na sincronização, por favor sincronize manualmente na lista de nós!"
|
||||
SyncSystemProxy: "Configurações de Proxy do Sistema"
|
||||
SyncScripts: "Biblioteca de Scripts"
|
||||
SyncBackupAccounts: "Contas de Backup"
|
||||
SyncAlertSetting: "Configurações de Alerta"
|
||||
SyncCustomApp: "Aplicativo Personalizado"
|
||||
SyncLanguage: "Idioma do Sistema"
|
||||
|
||||
#upgrade node
|
||||
NodeUpgrade: "Atualizar nó {{ .name }}"
|
||||
|
|
|
@ -102,13 +102,19 @@ DownloadPackage: "Загрузка архива библиотеки скрип
|
|||
AnalyticCompletion: "Анализ завершён, начинается синхронизация с базой данных..."
|
||||
|
||||
Node: "Узел"
|
||||
SyncNode: "Синхронизация данных узла"
|
||||
SyncNode: "Синхронизировать данные с узлом {{ .name }}"
|
||||
LocalName: "Имя 'local' используется только для локальной идентификации в системе"
|
||||
SyncPackageData: "Упаковка данных синхронизации [{{ .detail }}]"
|
||||
SyncPackageData: "Упаковка данных синхронизации"
|
||||
SyncPackageEncrypt: "Шифрование пакета данных"
|
||||
SyncRequest: "Запрос API синхронизации узла"
|
||||
SyncFailedRetry: "Таймаут синхронизации данных узла (попытка {{ .index }}), повторная попытка..."
|
||||
SyncFailed: "Ошибка синхронизации, выполните ручную синхронизацию в списке узлов!"
|
||||
SyncSystemProxy: "Настройки системного прокси"
|
||||
SyncScripts: "Библиотека скриптов"
|
||||
SyncBackupAccounts: "Резервные аккаунты"
|
||||
SyncAlertSetting: "Настройки оповещений"
|
||||
SyncCustomApp: "Пользовательское приложение"
|
||||
SyncLanguage: "Язык системы"
|
||||
|
||||
#upgrade node
|
||||
NodeUpgrade: "Обновление узла {{ .name }}"
|
||||
|
|
|
@ -99,14 +99,21 @@ ScriptSyncSkip: "Mevcut betik kütüphanesi zaten en son sürüm!"
|
|||
DownloadData: "Betik kütüphanesi dosyası data.yaml indiriliyor"
|
||||
DownloadPackage: "Betik kütüphanesi paketi indiriliyor"
|
||||
AnalyticCompletion: "Analiz tamamlandı, şimdi veritabanına senkronize ediliyor..."
|
||||
|
||||
Node: "Düğüm"
|
||||
SyncNode: "Düğüm verilerini senkronize et"
|
||||
SyncNode: "Verileri {{ .name }} düğümüne senkronize et"
|
||||
LocalName: "'local' adı yalnızca sistem yerel tanımlaması için kullanılır"
|
||||
SyncPackageData: "Paket senkronizasyon verisi [{{ .detail }}]"
|
||||
SyncPackageData: "Paket senkronizasyon verisi"
|
||||
SyncPackageEncrypt: "Veri paketi şifreleme"
|
||||
SyncRequest: "Düğüm senkronizasyon API'si isteği"
|
||||
SyncFailedRetry: "Düğüm veri senkronizasyonu zaman aşımı (deneme {{ .index }}), yeniden deneniyor..."
|
||||
SyncFailed: "Senkronizasyon başarısız, lütfen düğüm listesinde manuel senkronize edin!"
|
||||
SyncSystemProxy: "Sistem Vekil Sunucu Ayarları"
|
||||
SyncScripts: "Komut Dosyası Kütüphanesi"
|
||||
SyncBackupAccounts: "Yedek Hesaplar"
|
||||
SyncAlertSetting: "Uyarı Ayarları"
|
||||
SyncCustomApp: "Özel Uygulama"
|
||||
SyncLanguage: "Sistem Dili"
|
||||
|
||||
#upgrade node
|
||||
NodeUpgrade: "Düğümü yükselt {{ .name }}"
|
||||
|
|
|
@ -103,13 +103,19 @@ AnalyticCompletion: "解析成功,現在開始同步到資料庫..."
|
|||
|
||||
#sync node
|
||||
Node: "節點"
|
||||
SyncNode: "同步節點資料"
|
||||
SyncNode: "同步數據到節點 {{ .name }}"
|
||||
LocalName: "'local' 名稱僅用於系統本機標識"
|
||||
SyncPackageData: "打包同步資料 [{{ .detail }}]"
|
||||
SyncPackageData: "打包同步資料"
|
||||
SyncPackageEncrypt: "封包加密"
|
||||
SyncRequest: "請求節點同步介面"
|
||||
SyncFailedRetry: "第 {{ .index }} 次同步節點資料失敗逾時,正在重試..."
|
||||
SyncFailed: "同步失敗,請在節點列表中手動同步!"
|
||||
SyncSystemProxy: "系統代理配置"
|
||||
SyncScripts: "腳本庫"
|
||||
SyncBackupAccounts: "備份帳號"
|
||||
SyncAlertSetting: "告警設置"
|
||||
SyncCustomApp: "自定義應用"
|
||||
SyncLanguage: "系統語言"
|
||||
|
||||
#upgrade node
|
||||
NodeUpgrade: "升級節點 {{ .name }}"
|
||||
|
|
|
@ -103,13 +103,20 @@ AnalyticCompletion: "解析成功,现在开始同步到数据库..."
|
|||
|
||||
#sync node
|
||||
Node: "节点"
|
||||
SyncNode: "同步节点数据"
|
||||
SyncNode: "同步数据到节点 {{ .name }}"
|
||||
LocalName: "local 名称仅用于系统本机标识"
|
||||
SyncPackageData: "打包同步数据 [{{ .detail }}]"
|
||||
SyncPackageData: "打包同步数据"
|
||||
SyncPackageEncrypt: "数据包加密"
|
||||
SyncRequest: "请求节点同步接口"
|
||||
SyncFailedRetry: "第 {{ .index }} 次同步节点数据失败超时,正在重试..."
|
||||
SyncFailed: "同步失败,请在节点列表中手动同步!"
|
||||
SyncSystemProxy: "系统代理配置"
|
||||
SyncScripts: "脚本库"
|
||||
SyncBackupAccounts: "备份账号"
|
||||
SyncAlertSetting: "告警设置"
|
||||
SyncCustomApp: "自定义应用"
|
||||
SyncLanguage: "系统语言"
|
||||
|
||||
|
||||
#upgrade node
|
||||
NodeUpgrade: "升级节点 {{ .name }}"
|
||||
|
|
|
@ -56,10 +56,8 @@ func (b *backup) Run() {
|
|||
varsItem, _ := json.Marshal(varMap)
|
||||
_ = global.DB.Model(&model.BackupAccount{}).Where("id = ?", backupItem.ID).Updates(map[string]interface{}{"vars": string(varsItem)}).Error
|
||||
global.LOG.Infof("Refresh %s-%s access_token successful!", backupItem.Type, backupItem.Name)
|
||||
go func() {
|
||||
if err := xpack.Sync(constant.SyncBackupAccounts); err != nil {
|
||||
global.LOG.Errorf("sync backup account to node failed, err: %v", err)
|
||||
}
|
||||
}()
|
||||
if err := xpack.Sync(constant.SyncBackupAccounts); err != nil {
|
||||
global.LOG.Errorf("sync backup account to node failed, err: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -703,7 +703,6 @@ const onSubmit = async (formEl: FormInstance | undefined) => {
|
|||
.then(() => {
|
||||
loading.value = false;
|
||||
MsgSuccess(i18n.global.t('commons.msg.operationSuccess'));
|
||||
emit('search');
|
||||
drawerVisible.value = false;
|
||||
})
|
||||
.catch(() => {
|
||||
|
@ -715,7 +714,6 @@ const onSubmit = async (formEl: FormInstance | undefined) => {
|
|||
.then(() => {
|
||||
loading.value = false;
|
||||
MsgSuccess(i18n.global.t('commons.msg.operationSuccess'));
|
||||
emit('search');
|
||||
drawerVisible.value = false;
|
||||
})
|
||||
.catch(() => {
|
||||
|
|
Loading…
Add table
Reference in a new issue