Migrate Status.SaveOrUpdate to Sync by default (#11359)

* Migrate Status.SaveOrUpdate to Sync by default

* address pr comments
Этот коммит содержится в:
Sheshagiri Rao Mallipedhi
2019-06-24 15:33:29 +05:30
коммит произвёл Jesús Espino
родитель 0199cef145
Коммит cca41427a4
8 изменённых файлов: 44 добавлений и 64 удалений

Просмотреть файл

@@ -8,7 +8,6 @@ import (
"github.com/mattermost/mattermost-server/mlog"
"github.com/mattermost/mattermost-server/model"
"github.com/mattermost/mattermost-server/store"
"github.com/mattermost/mattermost-server/utils"
)
@@ -216,16 +215,15 @@ func (a *App) SetStatusOnline(userId string, manual bool) {
// Only update the database if the status has changed, the status has been manually set,
// or enough time has passed since the previous action
if status.Status != oldStatus || status.Manual != oldManual || status.LastActivityAt-oldTime > model.STATUS_MIN_UPDATE_TIME {
var schan store.StoreChannel
if broadcast {
schan = a.Srv.Store.Status().SaveOrUpdate(status)
if err := a.Srv.Store.Status().SaveOrUpdate(status); err != nil {
mlog.Error(fmt.Sprintf("Failed to save status for user_id=%v, err=%v", userId, err), mlog.String("user_id", userId))
}
} else {
schan = a.Srv.Store.Status().UpdateLastActivityAt(status.UserId, status.LastActivityAt)
}
if result := <-schan; result.Err != nil {
mlog.Error(fmt.Sprintf("Failed to save status for user_id=%v, err=%v", userId, result.Err), mlog.String("user_id", userId))
schan := a.Srv.Store.Status().UpdateLastActivityAt(status.UserId, status.LastActivityAt)
if result := <-schan; result.Err != nil {
mlog.Error(fmt.Sprintf("Failed to save status for user_id=%v, err=%v", userId, result.Err), mlog.String("user_id", userId))
}
}
}
@@ -308,8 +306,8 @@ func (a *App) SetStatusDoNotDisturb(userId string) {
func (a *App) SaveAndBroadcastStatus(status *model.Status) {
a.AddStatusCache(status)
if result := <-a.Srv.Store.Status().SaveOrUpdate(status); result.Err != nil {
mlog.Error(fmt.Sprintf("Failed to save status for user_id=%v, err=%v", status.UserId, result.Err))
if err := a.Srv.Store.Status().SaveOrUpdate(status); err != nil {
mlog.Error(fmt.Sprintf("Failed to save status for user_id=%v, err=%v", status.UserId, err))
}
a.BroadcastStatus(status)