99 "sync/atomic"
1010 "time"
1111
12- modelCommon "github.com/jumpserver/wisp/pkg/jms- sdk-go/common"
13- "github.com/jumpserver/wisp/pkg/jms- sdk-go/model"
14- "github.com/jumpserver/wisp/pkg/jms- sdk-go/service"
12+ modelCommon "github.com/jumpserver-dev/ sdk-go/common"
13+ "github.com/jumpserver-dev/ sdk-go/model"
14+ "github.com/jumpserver-dev/ sdk-go/service"
1515 "github.com/jumpserver/wisp/pkg/logger"
1616)
1717
@@ -178,11 +178,17 @@ func (u *UploaderService) UploadReplay(sid, replayPath string) error {
178178 return nil
179179 }
180180
181+ fileInfo , err := os .Stat (absGzFile )
182+ if err != nil {
183+ logger .Errorf ("Uploader service replay file %s stat failed: %s" , absGzFile , err )
184+ return err
185+ }
186+
181187 err = replayBackend .Upload (absGzFile , target )
182188 if err != nil && replayBackendName != "server" {
183189 u .recordingSessionLifecycleReplay (sid , model .ReplayUploadFailure , err .Error ())
184190 logger .Errorf ("Uploader service replay backend %s error %s" , replayBackendName , err )
185- logger .Error ("Switch default server to upload replay %s." , absGzFile )
191+ logger .Errorf ("Switch default server to upload replay %s." , absGzFile )
186192 replayBackendName = "server"
187193 u .recordingSessionLifecycleReplay (sid , model .ReplayUploadStart , "" )
188194 err = u .apiClient .Upload (sid , absGzFile )
@@ -194,7 +200,7 @@ func (u *UploaderService) UploadReplay(sid, replayPath string) error {
194200 }
195201 u .recordingSessionLifecycleReplay (sid , model .ReplayUploadSuccess , "" )
196202 logger .Infof ("Uploader service replay file %s upload to %s" , absGzFile , replayBackendName )
197- if _ , err = u .apiClient .FinishReply (sid ); err != nil {
203+ if _ , err = u .apiClient .FinishReplyWithSize (sid , fileInfo . Size () ); err != nil {
198204 logger .Errorf ("Finish %s replay api failed: %s" , sid , err )
199205 return err
200206 }
@@ -228,17 +234,22 @@ func (u *UploaderService) UploadRemainReplays(replayDir string) {
228234 u .recordingSessionLifecycleReplay (remainReplay .Id , model .ReplayUploadSuccess , "" )
229235 logger .Infof ("Uploader service upload replay %s success" , replayPath )
230236 // 上传完成 删除原录像文件
231- if err := os .Remove (replayPath ); err != nil {
232- logger .Errorf ("Uploader service clean remain replay %s failed: %s" ,
233- replayPath , err )
237+
238+ fileInfo , err := os .Stat (replayPath )
239+ if err != nil {
240+ logger .Errorf ("Uploader service replay file %s stat failed: %s" , replayPath , err )
241+ continue
234242 }
235- if _ , err := u .apiClient .FinishReply (remainReplay .Id ); err != nil {
243+ if _ , err := u .apiClient .FinishReplyWithSize (remainReplay .Id , fileInfo . Size () ); err != nil {
236244 logger .Errorf ("Uploader service notify session %s replay finished failed: %s" ,
237245 remainReplay .Id , err )
238246 }
247+ if err := os .Remove (replayPath ); err != nil {
248+ logger .Errorf ("Uploader service clean remain replay %s failed: %s" ,
249+ replayPath , err )
250+ }
239251 }
240252 logger .Infof ("Uploader service upload remain replay files done" )
241- return
242253}
243254
244255func (u * UploaderService ) recordingSessionLifecycleReplay (sid string , event model.LifecycleEvent , msgErr string ) {
0 commit comments