Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • 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

  • Turning TikTok into a Money-Making Machine
  • Cara Ekstrak Driver Intel RST/VMD dari setuprst.exe: Panduan Lengkap
  • Pixel 8 dan 8 Pro Akan Punya Kamera Baru Resolusi 10.2MP, Hasil Lebih Baik di Kondisi Redup
  • Inilah Trik Website Kalian Lolos Core Web Vitals dan Ranking Naik
  • YouTube TV Uji Coba Fitur Tonton Rekaman Pertandingan Olahraga NFL,NBA, MLB Terbatas
  • Aawi Wireless Dua Habis Stok, Model Android Auto Tunggal Masih Diskon
  • Samsung Akan Luncurkan One UI 8.5 dengan Inspirasi ‘Liquid Glass’ yang Memukau
  • XBox Game Pass PC Tidak Bisa Address GPU ke Game
  • Your Pocket-Sized Doctors: 3 Health Apps Changing the Game on Android and iOS
  • Waymo Bawa Teknologi ‘Liquid Glass’ untuk Mobil Otonom
  • Rumor Google Akan Update UI Besar-besaran Desember 2025
  • Gemini Akan Masuk di Android Auto, Mobil Jadi Lebih Smart!
  • OpenAI Bantah Rencana Pasang Iklan di ChatGPT Berlangganan
  • Kenapa Komputer Sangat Panas Saat Gunakan Fitur Virtualisasi Hyper-V?
  • Apa itu Bug React2Shell? Sudah Serang Lebih dari 30 Organisasi dan 77.000 IP Address
  • Google Store Black Friday 2025: Penawaran Spesial untuk Pixel, Nest, dan Lainnya!
  • Boxville 2 Gratis di Playstore, Plus Diskon Lainnya!
  • Cara Atasi Masalah Pembacaan Suara (Read Aloud) di Windows Copilot Tidak Berfungsi
  • Kementerian Kesehatan Inggris Akui Data Breach, Akibat Zero-day Oracle DB?
  • Google Akan Perkenalkan Autofill Google Wallet di Chrome untuk Pembayaran Lebih Mudah
  • Google Pixel Akan Perkenalkan Launcher Device Search Baru, Lebih Cepat dan Pintar
  • Hacker Serang Bug VPN di ArrayOS AG untuk Menanam Web Shell
  • Cara Menonaktifkan Error “ITS Almost time to restart in Windows”
  • Google Fi Mendukung Panggilan Telepon RCS Melalui Web, Lebih Mudah dan Efisien
  • Data Breach Marquis: Hajar Lebih Dari 74 Bank dan Koperasi AS
  • Google Search Akan Adopsi ‘Continuous Circle’ untuk Hasil Pencarian Terjemahan, Lebih Cerdas dan Kontekstual
  • Rusia Memblokir Roblox Karena Distribusi ‘Propaganda LGBT’
  • Google Gemini Redesain Web Total di Desember 2025, Fokus UX yang Lebih Baik
  • Apa itu Google Workspace Studio? Tool Baru untuk Pembuat Konten?
  • Cara Menggunakan Xbox Full-Screen Experience di Windows
  • Turning TikTok into a Money-Making Machine
  • Cara Ekstrak Driver Intel RST/VMD dari setuprst.exe: Panduan Lengkap
  • Pixel 8 dan 8 Pro Akan Punya Kamera Baru Resolusi 10.2MP, Hasil Lebih Baik di Kondisi Redup

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