Lynx & Cron untuk update RSS di Drupal CMS


Melanjutkan tulisan diblog ini sebelumnya tentang cron, sekarang saya akan coba berikan salah satu contoh penggunaan cron untuk penjadwalan eksekusi program.

Belum lama ini saya habis mendeploy sebuah situs intranet sederhana yang berbasis drupal CMS. Situsnya sederhana aja, ada download file, shoutbox, comment dan beberapa fasilitas lainnya yang standar web jaman sekarang. Masalahnya saya ingin menambahkan RSS Aggregator untuk menampilkan berita terbaru dari detik.com dan okezone.com di situs tersebut seperti halnya pada blog ini.

Jawabannya gampang aja, langsung masuk menu pengaturan RSS, copy-paste alamat RSS dari kedua situs tersebut lalu aktifkan. Kan uda pernah buat di wordpress ini..lalu dimana masalahnya? Saya baru tau kemudian siang harinya… Ternyata isi RSSnya ga pernah diupdate, padahal udah diset otomatis 1 jam sekali update RSS. Ternyata plugin drupal yang saya pake blm bisa mengupdate RSS secara otomatis (ga tau kalo yang laen pada bisa, kn saya newbie bgt di drupal), akibatnya isi berita detik.com dan okezone.com di situs saya tidak up-to-date.

Oke deh, nyari-nyari mekanisme update di drupal, ternyata dilakukan dengan mengakses kode php di alamat http://localhost/drupal/cron.php. Berarti ada di root direktori drupal yang diinstall. Setiap saya membuka page ini secara manual di browser, dan kebetulan pada saat itu sudah ada berita baru di detik.com, langsung RSS Aggregatornya terupdate. Berarti satu jam sekali harus buka alamat ini donk… Dari alamat cron.php saya jadi teringat si cron yg baru dibahas di blog ini. Kita bisa minta tolong ga sama cron untuk bukain page ini setiap jam, daripada saya yang capek buka-bukaan ?

Ga masalah, cron emang diciptakan untuk penjadwalan. Masalahnya sekarang yang mo dijadwalin apa? Kan servernya non GUI, text based. Mana ada firefox didalamnya, untuk buka halaman web. Untung inget sama paket dasarnya CentOS, yang ada text-based web browser. Jadi di linux itu ada program yang namanya Lynx, yang bisa digunakan untuk mengakses web dari terminal. Gunanya untuk mengecek kompabilitas situs dengan browser lama, maupun untuk mengakses situs pada komputer yg ‘amat-sangat-lemot’ atau bandwidthnya yang ‘amat-sangat-lemot’ sampe ga kuat buat nampilin gambar. Dari definisinya yg text-based aja uda bisa ketauan klo browser ini ga bisa nampilin gambar. Tapi ga masalah, orang butuhnya cuma panggil halaman cron.php yang itupun ga ada isinya. Cuma mengaktifkan fungsi update RSS.

Langsung aja daftarkan si Lynx di crontab, kayak gini nih:

0 * * * * lynx -dump http://localhost/drupal/cron.php

Artinya adalah menjalankan program lynx setiap jam untuk membuka halaman http://localhost/drupal/cron.php. parameter dump dari lynx digunakan untuk mengabaikan hasil teks yang dikembalikan server saat diminta untuk mengakses cron.php. Toh kita hanya perlu memastikan bahwa fungsi update RSS sudah berjalan, tanpa perlu tau hasil updatenya seperti apa. Mengenai arti 0 * * * * adalah yang menetukan bahwa proses eksekusi dijadwalkan setiap jam. Untuk parameter yang dikenali oleh cron dapat dibaca di posting sebelumnya tentang cron.

  1. hm..

    wah seep tuh mas artikelnya..

    nice post…

  2. @BernadSatriani

    Woakakakaka…pasti pemakai linux juga. Salam kenal um…

  3. tengkyu bos, saya kurang ” -dump ” nya😀

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: