19 Şubat 2009 Perşembe

Timer Job Nasıl Install edilir?

bir önceki blogumda MOSS'da bir timer jobun nasıl yazılacağından bahsetmiştim. Peki bu jobu nasıl install ederiz? Ne zamanlarda çalısacağını nasıl belirtiriz?
Bu blogumda bu konulara açıklık getirmek istiyorum. Bir önceki blogumda yazdıgım jobu install ederek başlayalım. Bu jobu bir FeatureReceiver yazarak deploy etmek en kullanıslı yoldur. SPFeatureReceiver classından türeyen bir sınıf yaratıp, bu abstract sınıfın metodlarını implement ediyoruz.

class ProfileBasedReportInstaller:SPFeatureReceiver
{
const string TASK_LOGGER_JOB_NAME = "My Reporting Job"; //jobumuzun central administrationdaki joblar arasında görülecek ismi

public override void FeatureInstalled(SPFeatureReceiverProperties properties)
{
}

public override void FeatureUninstalling(SPFeatureReceiverProperties properties)
{
}

public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWeb web = properties.Feature.Parent as SPWeb;

// make sure the job isn't already registered
foreach (SPJobDefinition job in web.Site.WebApplication.JobDefinitions)
{
if (job.Name == TASK_LOGGER_JOB_NAME)
job.Delete();
}

// install the job
DailyProfileBasedRatingReportJobDefinition myjob = new DailyProfileBasedRatingReportJobDefinition(TASK_LOGGER_JOB_NAME, web.Site.WebApplication); //jobumuzdan bir instance yaratıyoruz

//jobumuzun çalısacağı zamanları set ediyoruz
SPMinuteSchedule schedule = new SPMinuteSchedule();
schedule.BeginSecond = 1;
schedule.EndSecond = 59;
schedule.Interval = 1;
myjob.Schedule = schedule;

myjob.Update();
}


İşte jobumuz için bu featureReceiver ı yazdıktan sonra yapmamız gereken iş C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES klasöründe yeni bir folder olusturarak feature.xml imizi içine koymak.
Feature.xml imizin içinde feature ımızın receiver classını ve receiver Assemblysini yazmamız yeterli olacaktır.

Örnek feature.xml için kendi feature.xml imin içeriğini aşağıya kopyalıyorum.


2 yorum:

  1. Emir bey çok teşekkür ederim paylaşım için çok işimi gördü

    YanıtlaSil
  2. selam, feature.xml inin içeriğini kopyalayabilir misin? gözükmüyor. teşekkürler

    YanıtlaSil