Page 6 - How to Create Timer Job in SharePoint 2013
P. 6

How to Create Timer Job in SharePoint 2013                     https://www.c-sharpcorner.com/UploadFile/b8e86c/how-to-create-timer-...




                   03.   {
                   04.       try
                   05.       {
                   06.           SPSecurity.RunWithElevatedPrivileges(delegate()
                   07.           {
                   08.               SPWebApplication parentWebApp = (SPWebApplication)properties.Feature.Parent;
                   09.               DeleteExistingJob(JobName, parentWebApp);
                   10.               CreateJob(parentWebApp);
                   11.           });
                   12.       }
                   13.       catch (Exception ex)
                   14.       {
                   15.          throw ex;
                   16.       }
                   17.   }
                   18.   private bool CreateJob(SPWebApplication site)
                   19.   {
                   20.       bool jobCreated = false;
                   21.       try
                   22.       {
                   23.           TimerJobDemo job = new TimerJobDemo(JobName, site);
                   24.           SPMinuteSchedule schedule = new SPMinuteSchedule();
                   25.           schedule.BeginSecond = 0;
                   26.           schedule.EndSecond = 59;
                   27.           schedule.Interval = 15;
                   28.           job.Schedule = schedule;
                   29.
                   30.           job.Update();
                   31.       }
                   32.       catch (Exception)
                   33.       {
                   34.          return jobCreated;
                   35.       }
                   36.       return jobCreated;
                   37.   }
                   38.   public bool DeleteExistingJob(string jobName, SPWebApplication site)
                   39.   {
                   40.       bool jobDeleted = false;
                   41.       try
                   42.       {
                   43.          foreach (SPJobDefinition job in site.JobDefinitions)
                   44.           {
                   45.              if (job.Name == jobName)
                   46.               {
                   47.                   job.Delete();
                   48.                   jobDeleted = true;
                   49.               }
                   50.           }
                   51.       }
                   52.       catch (Exception)
                   53.       {
                   54.          return jobDeleted;
                   55.       }
                   56.       return jobDeleted;
                   57.   }
                   58.
                   59.   public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
                   60.   {
                   61.
                   62.       lock (this)
                   63.       {
                   64.          try
                   65.           {
                   66.               SPSecurity.RunWithElevatedPrivileges(delegate()




 6 of 14                                                                                                  23-Jan-19, 10:46 AM
   1   2   3   4   5   6   7   8   9   10   11