github.com/masterhung0112/hk_server/v5@v5.0.0-20220302090640-ec71aef15e1c/jobs/resend_invitation_email/scheduler.go (about)

     1  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
     2  // See LICENSE.txt for license information.
     3  package resend_invitation_email
     4  
     5  import (
     6  	"time"
     7  
     8  	"github.com/masterhung0112/hk_server/v5/app"
     9  	"github.com/masterhung0112/hk_server/v5/model"
    10  )
    11  
    12  const ResendInvitationEmailJob = "ResendInvitationEmailJob"
    13  
    14  type ResendInvitationEmailScheduler struct {
    15  	App *app.App
    16  }
    17  
    18  func (rse *ResendInvitationEmailJobInterfaceImpl) MakeScheduler() model.Scheduler {
    19  	return &ResendInvitationEmailScheduler{rse.App}
    20  }
    21  
    22  func (s *ResendInvitationEmailScheduler) Name() string {
    23  	return ResendInvitationEmailJob + "Scheduler"
    24  }
    25  
    26  func (s *ResendInvitationEmailScheduler) JobType() string {
    27  	return model.JOB_TYPE_RESEND_INVITATION_EMAIL
    28  }
    29  
    30  func (s *ResendInvitationEmailScheduler) Enabled(cfg *model.Config) bool {
    31  	return *cfg.ServiceSettings.EnableEmailInvitations
    32  }
    33  
    34  func (s *ResendInvitationEmailScheduler) NextScheduleTime(cfg *model.Config, now time.Time, pendingJobs bool, lastSuccessfulJob *model.Job) *time.Time {
    35  	t := time.Now().Add(5 * time.Second)
    36  	return &t
    37  }
    38  
    39  func (s *ResendInvitationEmailScheduler) ScheduleJob(cfg *model.Config, pendingJobs bool, lastSuccessfulJob *model.Job) (*model.Job, *model.AppError) {
    40  	// noop because we manually schedule the job in api4.inviteUsersToTeam handler
    41  	return nil, nil
    42  }