Aplikasi Staging Data Jembatan Timbang - DFARM
Author : Teddy Badio Baykard ([email protected]) & Afrizal Yusren ([email protected])
Layanan ini akan melakukan penarikan (pull) data dari seluruh PC mesin timbangan seluruh Unit Kebun/PKS Region 2, kemudian melakukan screening dan filtering. Dan pada akhirnya melakukan transfer data ke Database DFARM Holding. Menggunakan metode scheduler/penjadwalan cronjob milik OS Linux untuk melakukan pekerjaan penarikan data setiap 30 menit. Laporan sukses/gagal akan dikirim ke Telegram Channel.
- Buatlah koneksi ke server DFARM dari database staging Anda dengan LinkedServer. Tujuannya agar server DFARM bisa langsung terhubung ke server staging. Masuklah ke DB staging Anda lalu buka console. Ketikkan perintah berikut
EXEC master.dbo.sp_addlinkedserver
@server = N'xxx.xxx.xxx.xxx',
@srvproduct=N'SQL Server';
--xxx=ip server remote (yang ingin disambungkan)
GO
--mengatur remote login linked server
--EXEC sp_addlinkedsrvlogin 'NAMASERVER', 'false', 'LOCALACCOUNT', 'REMOTEACCOUNT', 'REMOTEPASSWORD';
EXEC sp_addlinkedsrvlogin 'xxx.xxx.xxx.xxx', 'false', 'sa', 'namauser', 'passworduser';
--xxx adalah IP remote server yang dibuat sebelumnya; namauser dan passworduser adalah untuk akun remote servernya; bukan staging server
GO
- Proses push ke DB DFARM dilakukan dari dalam server staging, bukan dengan membuka koneksi lagi dari service aplikasi. Karena itu wajib pasang Linked Server
- Buatlah synonim ke tabel
TrWB_OPRB_HD
database DFARM yang telah dihubungkan dengan Server Staging
USE namadbstaging;
GO
CREATE SYNONYM TrWB_OPRB_HD
--FOR namaLinkedServer.namaDatabase.dbo.namaTable;
FOR xxx.xxx.xxx\MSSQLSERVER,1433.DFARM.dbo.TrWB_OPRB_HD;
GO
-
Buka file .env lalu sesuaikan dengan parameter koneksi database Anda baik timbangan, staging dan DFARM
-
khusus timbangan, tidak disertakan IP pada parameter .env karena akan dihubungi secara dinamis berdasarkan master database
-
Buka database sejati_staging, tabel master_bridges. Pastikan IP mesin jembatan timbang telah sesuai
-
buatlah PATH untuk aplikasi ini. Buka file
~/.bashrc
lalu tambahkan row
export PATH=$PATH:/lokasi/tempat/aplikasi/staging
- panggil aplikasi dengan perintah :
staging auto -c /lokasi/tempat/file/config/.env -t today #untuk memproses data secara otomatis hari ini
staging auto -c /lokasi/tempat/file/config/.env -t yesterday #untuk memproses data secara otomatis hari kemarin
staging auto -c /lokasi/tempat/file/config/.env -t 2024-02-01 #untuk memproses data secara otomatis sesuai tanggal dimaksud
staging pull -c /lokasi/tempat/file/config/.env -t today #hanya untuk menarik data timbangan hari ini
staging pull -c /lokasi/tempat/file/config/.env -t yesterday #hanya untuk menarik data timbangan hari kemarin
staging pull -c /lokasi/tempat/file/config/.env -t 2024-02-01 #hanya untuk menarik data timbangan sesuai tanggal dimaksud
staging pull -c /lokasi/tempat/file/config/.env -t 2024-02-01 -i 10.20.10.10 #hanya untuk menarik data timbangan sesuai tanggal dan IP dimaksud
staging push -c /lokasi/tempat/file/config/.env -t today #hanya untuk mengirim ke DFARM data data staging hari ini
staging push -c /lokasi/tempat/file/config/.env -t yesterday #hanya untuk mengirim ke DFARM data staging hari kemarin
staging push -c /lokasi/tempat/file/config/.env -t 2024-02-01 #hanya untuk mengirim ke DFARM data staging sesuai tanggal dimaksud
staging delete -c /lokasi/tempat/file/config/.env -t today #hanya untuk menghapus data timbangan hari ini
staging delete -c /lokasi/tempat/file/config/.env -t yesterday #hanya untuk menghapus data timbangan hari kemarin
staging delete -c /lokasi/tempat/file/config/.env -t 2024-02-01 #hanya untuk menghapus data timbangan sesuai tanggal dimaksud
staging delete -c /lokasi/tempat/file/config/.env -t 2024-02-01 -i 10.20.10.10 #hanya untuk menghapus data timbangan sesuai tanggal dan IP dimaksud
- Periksa log secara berkala untuk memeriksa masalah dengan penarikan dan pengiriman data timbangan