Ana içeriğe geç

🛠️ Worker Kurulumu

Octo Worker; arka planda çalışan, zamanlanmış görevleri ve entegrasyon işlerini yürüten Windows servisidir. Bu doküman, yeni bir müşteri ortamına Worker'ın nasıl kurulacağını adım adım anlatır.

bilgi

Bu sayfa Worker servisinin sunucuya kurulumunu anlatır (sysadmin / DevOps). Çalışan Worker'a görev tanımlamak (zamanlanmış SP, rapor, mail tetikleyici) için: Worker — Görev Yönetimi

ipucu

Kurulum sürecinin görsel anlatımı için aşağıdaki tanıtım videosunu izleyebilirsiniz.

📺 Tanıtım Videosu

bilgi

Video Renium SharePoint üzerinde barındırılmaktadır. İzlemek için Renium hesabınızla oturum açmış olmanız gerekir; oturum açık değilse iframe içinde Microsoft giriş ekranı görünür.

Ön Gereksinimler

  • Windows Server (veya kurulumun yapılacağı makine) üzerinde yönetici yetkisi
  • .NET Runtime (Worker'ın derlendiği sürüme uygun)
  • Octo veritabanına erişim için RMS (Remote Desktop Manager) bağlantı bilgileri
  • SMTP / e-posta bildirim ayarları (hata bildirimleri için)

Adım 1 — Worker Paketinin Yerleştirilmesi

Worker yayın paketini sunucuda C:\OctoWorker dizinine çıkarın. Klasörün içinde Octo.Worker.exe, appsettings.json, Octo.Worker.dll ve bağımlılık DLL'leri (DevExpress, Newtonsoft.Json vb.) yer almalıdır.

C:\OctoWorker dizinine paketin yerleştirilmesi

Adım 2 — appsettings.json Konfigürasyonu

appsettings.json dosyasını açıp aşağıdaki şablona göre düzenleyin. FirmaId, ConnectionName ve Recipients alanlarını kuruluma göre güncelleyin.

{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"FirmaId": "<FIRMA_ID_GUID>",
"ConnectionName": "<CONNECTION_NAME>",
"ErrorNotification": {
"Enabled": true,
"Recipients": "<MAIL_1>,<MAIL_2>",
"FromAlias": "Octo Worker"
}
}
bilgi
  • FirmaId: Worker'ın bağlanacağı firmanın Tb_Rn_Sys_Companies tablosundaki Id değeri (GUID). Örn: "da28d5e8-a6c3-4130-53a6-08dd7db5ef9a"
  • ConnectionName: Bağlantı tanımı. Bu isim Octo bağlantı yönetiminde tanımlı olmalıdır. Örn: "OCTO_<MUSTERI_KODU>"
  • ErrorNotification.Recipients: Worker hata aldığında uyarı maili gidecek adresler (virgülle ayrılır). Örn: "admin@firma.com,destek@firma.com"
  • ErrorNotification.FromAlias: Hata mailinin gönderici adı.

Adım 3 — Task Scheduler Görevinin Oluşturulması (General)

Task Scheduler'ı açın → Task Scheduler Library altında Renium klasörü oluşturun → Create Task ile yeni görev ekleyin. Görevi OctoWorker adıyla kaydedin ve güvenlik ayarlarını uygulayın:

  • Run whether user is logged on or not seçili
  • Do not store password işaretli
  • Run with highest privileges işaretli

Task Scheduler — General sekmesi

Adım 4 — Trigger Tanımı

Triggers sekmesinde New ile yeni tetikleyici ekleyin. Begin the task olarak At startup seçin. Sunucu her açıldığında görev otomatik başlar.

Triggers — At system startup

Adım 5 — Conditions Ayarları

Conditions sekmesinde sunucu için uygun ayarlar:

  • Start the task only if the computer is on AC power
  • Start the task only if the computer is idle ❌ (işaretli olmamalı — Worker boşta beklemeden çalışmalı)

Conditions sekmesi

Adım 6 — Settings Ayarları

Settings sekmesinde aşağıdaki seçenekler aktif olmalı:

  • Allow task to be run on demand
  • If the running task does not end when requested, force it to stop
  • If the task is already runningStop the existing instance

Settings sekmesi

Adım 7 — Görevi Çalıştırma

Görev oluşturulduktan sonra Renium klasörü altında listelenir. Görev üzerinde sağ tık → Run ile manuel başlatın. Status alanı Running olmalı. (Gerektiğinde End ile durdurulabilir, Disable ile devre dışı bırakılabilir.)

Renium klasöründeki görevin çalıştırılması

Adım 8 — .NET Runtime Kurulumu

Sunucuda gerekli .NET sürümü kurulu değilse dotnet.microsoft.com/download adresinden ilgili .NET SDK x64 sürümünü (Worker'ın derlendiği sürüm — örn. 8.0 LTS) indirip kurun.

.NET Download sayfası

Adım 9 — Mail Ayarlarının Veritabanında Kontrolü

Hata bildirim mailleri için Octo veritabanındaki Tb_Rn_System_MailSettings tablosunu ya da resend ayarlarını kontrol edin. SMTP Host, Port, EnableSsl, UserName, Password alanlarının dolu olduğundan emin olun.

SELECT * FROM dbo.Tb_Rn_System_MailSettings;
bilgi

Gmail kullanılıyorsa SMTP Password alanına Google hesabından üretilmiş App Password girilmelidir; kullanıcının normal şifresi çalışmaz.

Tb_Rn_System_MailSettings tablo kontrolü

Adım 10 — Servis Doğrulama (Event Viewer)

Event Viewer → Windows Logs → Application altında Source alanı .NET Runtime olan kayıtlar Worker'ın aktif olduğunu gösterir. Error seviyesindeki kayıtlar (örn. UpdateWorkerTask failed) varsa detayını inceleyin.

Event Viewer — Application logları

Adım 11 — Konsol Üzerinden Log Kontrolü

C:\OctoWorker\Octo.Worker.exe dosyasını çift tıklayarak konsol modunda çalıştırın. Canlı log akışı (info, fail mesajları) buradan takip edilir; Task Scheduler'a gerek kalmadan ilk doğrulamayı buradan yapabilirsiniz.

ipucu

Konsol modunda pencereyi kapatırsanız Worker durur. Sürekli çalışması için Task Scheduler görevinin aktif olması gerekir.

Octo.Worker.exe konsol logları

Sorun Giderme

ipucu

Worker çalışmıyor veya hata veriyorsa:

  • Windows Services üzerinden servisin durumunu kontrol edin.
  • logs/ klasörü altındaki güncel log dosyasına bakın.
  • appsettings.json içindeki ConnectionName değerinin Octo bağlantı yönetiminde tanımlı olduğundan emin olun.
  • ErrorNotification.Enabled = true ise alıcı listesine gelen hata maillerini takip edin.
bilgi

Bu dokümantasyon sürekli güncellenmektedir. Kuruluma özgü detaylar veya hata durumları için sistem yöneticisi ile iletişime geçin.