Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Makalah
  • Ke-NU-an
  • Kabar
  • Search
Menu

Belajar PHP: Membuat Aplikasi Daemons Sederhana

Posted on April 12, 2012

Bagi anda yang membutuhkan solusi aplikasi yang melakukan checking terus menerus atau melakukan aksi tertentu secara periodik, mungkin anda akan menggunakan solusi penggunaan Cronjob (jika di server Linux) dan Task Schedulers (jika di server Windows). Namun dua jalan tersebut sangat tergantung pada pewaktuan server dan butuh level akses yang tinggi serta tidak semua hosting mendukungnya. Nah, sebenarnya ada satu jalan lagi yang bisa ditempuh untuk memecahkan masalah diatas, yaitu menggunakan Daemon. Daemon adalah program yang berjalan dibelakang layar (running in backgrounds). Kebanyakan daemon diberinama dengan akhiran ‘d’, contoh: sshd, mysqld, syslogd dan lain-lain.

Membuat Daemon PHP

Daemon sederhana dengan PHP bisa kita buat dengan metoda perulangan WHILE. Contohnya:
[sourcecode language=”php”]
<?php

$no = 1;
while( true )
{
echo $no."\n";
sleep( 3 );
$no++;
}
?>
[/sourcecode]

Skrip diatas akan berjalan selama nilai true ada, dan akan menulis variabel nomor kemudian berhenti sejenak 3 detik untuk melanjutkan ke loop berikutnya.

Berikut adalah contoh nyata implementasi daemon pada plugin WP-SMSGateway yang saya kembangkan. Daemon ini akan bekerja mengecek secara periodik tabel inbox dari keyword-keyword yang dimasukkan.

[sourcecode language=”php”]
<?php

define( ‘ABSPATH’, dirname(dirname(dirname(dirname(dirname(__FILE__))))).’/’ );
include ABSPATH.’wp-load.php’;

$wpsmsgateway = new WPSMSGateway();

/**
* Method for displaying the help and default variables.
**/
function displayUsage(){
global $log;

echo "\n";
echo "\n";
echo "WP-SMSGateway Plugin Daemons (c) 2012 by Luthfi Emka.\n";
echo "\n";
echo "Daemons for Checking SMS Keywords, parse and saved the results.\n";
echo "This is a part of WP-SMSGateway plugins by Luthfi Emka.\n";
echo "\n";
echo "Usage:\n";
echo "\tdaemons.php [options]\n";
echo "\n";
echo "\toptions:\n";
echo "\t\t–help display this help message\n";
echo "\t\t–keyword=<keyword> keyword to find\n";
echo "\n";
}//end displayUsage()

//configure command line arguments
if($argc > 0){
foreach($argv as $arg){
$args = explode(‘=’,$arg);
switch($args[0]){
case ‘–help’:
return displayUsage();
case ‘–keyword’:
$keyword = $args[1];
break;

case ‘–saved-only’:
$saved = TRUE;
break;
}//end switch
}//end foreach
}//end if

$no = 1;
while(TRUE){
//$brot = file_get_contents( $log );
//echo ‘ ‘. base64_encode( $brot ) .’ ‘;

if(!empty($keyword)){
$results = $wpsmsgateway->ceksms_from_keyword( ‘&keyword=SALAM&limit=20′ );
foreach($results as $res){
echo $res->TextDecoded."\n";
}
}
echo $no.’ ‘;
sleep(3);
$no++;
}
?>
[/sourcecode]

Daemon diatas dilengkapi dengan options, –help untuk menampilkan bantuan dan –keyword. Untuk menjalankannya di Windows
C:\xampp\php\php.exe C:\xampp\htdocs\daemons.php --keyword=TEST

atau di Linux

php /opt/smsgateway/daemons/daemon.php

Terbaru

  • Cara Menggunakan Stellarium Web
  • Cara Menghapus Data KTP Pribadi di Pinjol yang Belum Lunas
  • Cara Mengganti Nomor TikTok yang Tidak Aktif atau Hilang Tanpa Verifikasi
  • Cara Menggunakan BCA PayLater Terbaru 2025
  • Cara Mendapatkan IMPoint Indosat IM3 Ooredoo Gratis via MyIM3
  • Apa Arti TikTok ‘Shared With You’?
  • Cara Menghapus Data KTP di Pinjol: Panduan Lengkap
  • Cara Download WhatsApp GB Terbaru 2025 – Fitur Lengkap & Aman
  • Review WhatsApp Beta: Apakah Aman? Cara Instal dan Cara Keluar
  • Bebong: Makna, Asal Usul, dan Penggunaan dalam Bahasa Indonesia
  • Spinjam dan Spaylater: Apa yang Terjadi Jika Terlambat Membayar dan Bisakah Meminjam Lagi?
  • Cara Download dan Menonton Dood Stream Tanpa Iklan – Doods Pro
  • Cara Menghentikan dan Mengatasi Pinjol Ilegal
  • Kode Bank BRI untuk Transfer ke PayPal
  • Cara Menyadap WhatsApp Tanpa Aplikasi dan Kode QR
  • Apa yang Terjadi Jika Telat Bayar Shopee PayLater?
  • Telat Bayar Listrik 1 Hari: Apa yang Terjadi?
  • Cara Mengunduh Foto Profil WhatsApp Teman di Android, iPhone, dan PC/Mac
  • Rekomendasi Aplikasi Edit Foto Ringan Terbaik untuk PC Windows dan macOS
  • Cara Membeli Diamond Mobile Legends Menggunakan Pulsa Telkomsel
  • Tutorial Menggunakan Aplikasi Dana: Cara Top Up Dana dengan Mudah, Cepat, dan Murah untuk Pemula
  • Website Konverter YouTube ke MP3 Terbaik 2025
  • Cara Mengatasi Otorisasi Kadaluarsa Higgs Domino Tanpa Login Facebook
  • Tips Main E-Football 2024: Strategi Pemilihan Tim dan Pemain Terbaik
  • DramaQ: Situs Nonton Drakor Sub Indo Terbaru dan Lengkap
  • IGLookup: Cara Download APK dan Informasi Lengkap
  • Cara Daftar DrakorID? Apakah DrakorID Streaming Penipu/Ilegal?
  • Cara Login, Register, dan Transfer Data MyKONAMI
  • Website PT Melia Sehat Sejahtera Apakah Penipuan?
  • Alternatif APK Bling2: Alternatif Stylish untuk Ekspresi Diri
  • Cara Menggunakan Stellarium Web
  • Cara Menghapus Data KTP Pribadi di Pinjol yang Belum Lunas
  • Cara Mengganti Nomor TikTok yang Tidak Aktif atau Hilang Tanpa Verifikasi

©2025 emka.web.id | Design: Newspaperly WordPress Theme