Struktur Tabel Instant Messaging Gateway
Repository ini berisi struktur tabel dan beberapa fungsi terkait paket Debian
bernama im-gw
. Karena paket itu masih Python 2 maka di sini hadir
penggantinya.
Sesuaikan mailer.ini
, lalu jalankan daemon agent:
$ ~/env/bin/imgw_mailer mailer.ini
Hasilnya:
2023-07-06 00:08:15,724 DEBUG Connect to mail.opensipkd.com:587 2023-07-06 00:08:27,004 DEBUG Login sebagai no-reply@opensipkd.com 2023-07-06 00:08:27,028 INFO Save /home/sugiana/tmp/mail/result/status.json: {'id': 'no-reply@opensipkd.com', 'status': 0, 'jawaban': 'OK'}
Biarkan dia hidup. Kini sesuaikan agent_job.ini
, lalu buat tabelnya:
$ ~/env/bin/imgw_init_db agent_job.ini
Kini jalankan daemon agent job yang merupakan pemberi tugas untuk agent:
$ ~/env/bin/imgw_agent_job agent_job.ini
Hasilnya:
2023-07-06 00:09:33,546 INFO Read /home/sugiana/tmp/mail/result/status.json: {'id': 'no-reply@opensipkd.com', 'status': 0, 'jawaban': 'OK'}
Hasil di database:
imgw=> SELECT id, status, startup FROM im.agent; -[ RECORD 1 ]------------------- id | no-reply@opensipkd.com status | 0 startup | 2023-07-06 00:08:27+07
Field status
bernilai nol berarti pengirim email telah siap. Biarkan daemon
itu hidup. Kini mulailah membuat email:
INSERT INTO im.antrian (penerima, pesan) VALUES ('sugiana@gmail.com', 'Uji coba imgw');
Di daemon agent job akan tampak:
2023-07-06 00:34:02,849 INFO Write /home/sugiana/tmp/mail/job/32.json {'id': 32, 'penerima': 'sugiana@gmail.com', 'pesan': 'Uji coba imgw', 'subject': 'Uji coba imgw', 'name': 'sugiana'}
Di database row pada tabel im.antrian
itu telah pindah ke tabel
im.selesai
:
imgw=> SELECT id, penerima, pesan, status FROM im.selesai ORDER BY id DESC LIMIT 1; -[ RECORD 1 ]--------------- id | 32 penerima | sugiana@gmail.com pesan | Uji coba imgw status | 1
Status positif seperti 1
berarti pesan sedang dikirim. Bila negatif berarti
gagal, misalnya karena daemon agent belum aktif.
Kini lihat proses pengiriman di log daemon agent:
2023-07-06 00:34:03,623 INFO Send {'id': 32, 'penerima': 'sugiana@gmail.com', 'pesan': 'Uji coba imgw', 'subject': 'Uji coba imgw', 'name': 'sugiana'} 2023-07-06 00:34:03,689 INFO Save /home/sugiana/tmp/mail/result/32.json: {'id': 32, 'status': 0, 'jawaban': 'OK'}
Kembali ke daemon agent job tampil:
2023-07-06 00:34:03,851 INFO Read /home/sugiana/tmp/mail/result/32.json: {'id': 32, 'status': 0, 'jawaban': 'OK'}
Di database terjadi perubahan:
imgw=> SELECT id, tgl_operator, penerima, pesan, status FROM im.selesai ORDER BY id DESC LIMIT 1; -[ RECORD 1 ]+----------------------- id | 32 tgl_operator | 2023-07-06 00:34:03+07 penerima | sugiana@gmail.com pesan | Uji coba imgw status | 0
Begitulah urutannya, semoga dipahami.
Untuk menampilkannya bisa menggunakan Web Instant Messaging Gateway.