Mobile Services JS Backend - Scheduler

Mobile Services Scheduler ile yazdığımız kodların otomatik olarak belli zaman aralıklarında veya istediğimiz zaman çalışmasını sağlamak mümkün. Örneğin merkez bankasından doviz kurlarını çekerek database'e yazıyorsanız ve bu işlemin her 15dk'da bir tekrar etmesini isterseniz, Scheduler sizin için kullanışlı olacaktır.

Yukarıda verdiğim örneğe çok benzer bir örnek üzerinde çalışalım.

Merkez Bankası bu verileri xml olarak vereceğinden ilk örnek için biraz karışık olabilir. Json olarak verileri alabileceğimiz bir kaynak var. http://jsonrates.com/ adresinden istediğim para birimleri arasındaki dönüşümleri json olarak almamız mümkün.

İlk olarak mobile services içerisinde ismi CurrencyRates olan bir tablo yaratıyoruz. (Nasıl tablo yaratacağınızı buradan öğrenebilirsiniz.)

Daha sonra jsonrates.com sitesinden bir hesap oluşturmanız gerekiyor. Size bir api key verecek ve bunu requestlerimizde kullanacağız.

Şimdi sırada Scheduler var, Mobile Service içierinden Scheduler tabına giriyoruz ve "Create a Scheduled Job" yazısına tıklıyoruz. CurrencyInsertJob adında bir scheduler job yaratıyoruz.

CurrencytInsertJob

Yukarıda gördüğünüz gibi job'I yaratırken bize ne sıklıkta çalışacağını soruyor. Default olarak her 15 dakikada bir çalışmak üzere ayarlı. Bu şekilde sağ altta bulunan butona basarak job'u oluşturuyoruz.

Ben her 15dk'da bir kez çalışmasını istedim, ama siz bunu değiştirebilirsiniz veya On Demand seçeneğini seçerek istediğiniz zaman çalışmasını sağlayabilirsiniz.

*Mobile Service free mode seçili ise sadece bir tane job oluşturmanız mümkün. Daha fazla job oluşturmak isterseniz mobile service'i scale etmeniz gerekecek, ilerleyen yazılarda buna değineceğim.

Yarattığımız job'un içine giriyoruz ve Script tabına tıklıyoruz, açılan sayfada bir code editor bizi bekliyor. Aşağıdaki kodu yazarak jsonrates.com'dan TRY ve USD arasındaki dönüşümü çekip tabloya yazmanız mümkün, unutmatın bu kod her 15dk'da bir kez çalışacak.(Kendi API key'inizi yazmayı unutmayın.)

Yukarıdaki kod ile birlikte istediğimizi yaptırdık ancak job şuanda disabled. Sayfanın en altında bulunan butonlar ile enable etmeniz mümkün veya Run Once'a tıklayarak hemen bir kez çalıştırmanız mümkün.

İlk başta 15dk'da bir çalışssın istemiştik ancak bu yazıyı yazarken 15 dk beklemek istemediğim için ben bunu bir dakikada bir kez çalışsın olarak değiştirmek istiyorum. Bunun için yukarıdaki Configure tabına geçiyoruz ve buradan ayarları değiştiriyoruz.

CurrencyInsertJob Configure

Sonuc olarak Data tabi altında bulunan CurrencyRates tablosuna baktığımızda işlemin sonucunu göreceğiz.  

   

CurrencyRates Sonuc

Kendi senaryonuza uygularken aşağıdaki link sizin için oldukça faydalı olacaktır. Mobile Services JavaScript backend Node.js ile kodlanıyor ve aşağıdaki dokumandan mobile services'e özel node.js kütüphanelerine ulaşmanız mümkün.

https://msdn.microsoft.com/en-us/library/azure/jj554226.aspx

Yorum ekle

Loading