Page 110 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 110
110 | RapidRows: Postgres için Kolay API Server
WebSocket ve SSE Üzerinden Bildirimler
RapidRows, PostgreSQL kanallarına gönderilen bildirimleri WebSocket ve Server Sent Events‘e
iletebilir. RapidRows terminolojisinde, Websocket ve SSE uç noktaları akış (stream) olarak
adlandırılır. Herhangi bir sayıda istemci, tek bir websocket/sse akışına bağlanabilir. NOTIFY veya
pg_notify() kullanılarak gönderilen her bildirim akışa bağlı istemcilere gönderilecektir.
version: ‘1’
streams:
- uri: ‘/new_payments’
type: ‘websocket’
datasource: ‘pagila’
channel: ‘payment_received’
datasources:
- name: ‘pagila’
dbname: ‘pagila’
Planlanmış Işler
RapidRows, planlanmış işleri (scheduled job) çalıştırmak için CRON benzeri bir arka plan programı
sağlar. Benzer çözümlerin aksine veri tabanı eklenti kurulumu gerektirmez ve veri tabanında
veri depolamaz. SQL ifadeleri ya da JavaScript kodu ile bir iş tanımlanarak CRON söz dizimi ile
veya tekrarlama aralığı @every X şeklinde verilip planlamış iş tanımı yapılabilir. X, saat, dakika ve
saniye veya 10h3m5s gibi hepsi bir arada kullanılabilir. Uç noktalara benzer şekilde, planlanmış
iş tanımında kullanılan SQL deyimleri işlem seçeneklerine ve bir zaman aşımına sahip olabilir.
JavaScript kullanarak gelecek ay için bölümlendirme (partition) oluşturan bir planlanmış iş örneği: