async

class untuk melakukan proses background, berguna untuk menjalankan function yang membutuhkan resource atau waktu yang lama sedangkan user atau pengunjung tidak perlu menunggu

includes/class/async.php

async

class untuk melakukan proses background, berguna untuk menjalankan function yang membutuhkan resource atau waktu yang lama sedangkan user atau pengunjung tidak perlu menunggu

Contoh Eksekusi Function

_class('async')->run('function_name', [$input1, $input2...]);
Contoh Eksekusi Class
_class('async')->run(array('class_name', 'method_name'), [$input1, $input2...]);

Semua function yang bisa di panggil secara background hanya function dengan input parameter/argument berupa String, Array, Numeric, Boolean dll. tidak bisa memproses input parameter berupa object seperti $Bbc, $sys, $db dsb.

Function yang bisa dieksekusi adalah function dalam framework, maka pembuatanya harus mengikuti pola-pola framework yang benar:

  1. semua function harus berada dalam [namamodule]/_function.php atau jika hanya di panggil di admin saja berarti bisa di taruh di dalam file [namamodule]/admin/_function.php
  2. semua function harus diberi prefix [namamodule], contoh apabila nama module adalah "myimage" dan function yang ingin dibuat diberi nama "action" maka nama function tersebut HARUS myimage_action()
  3. untuk lebih jelasnya silahkan pelajari cara membuat function
Berikut beberapa informasi yang perlu anda ketahui sebelum anda menggunakan class ini
  1. harus menginstall gearman pada system server anda
  2. kemudian menginstall async
  3. membuat cronjob per menit untuk mengawasi jalan nya async dengan mengarah ke domainanda.com/user/async/cron
  4. Jika ingin memindah proses async ke server lain, maka tambahkan variable constans di bawah pada file config.php di doc root:
    • _ASYNC_HOST untuk host yang dituju, jika tidak ada maka akan mengarah ke 127.0.0.1
    • _ASYNC_PORT untuk port yang dituju, jika tidak ada maka akan mengarah ke 4730
    • _ASYNC_CHAT chatID yang akan dituju ketika ada report error pada esoftplay async, jika tidak ada maka akan mengarah ke esoftplay
Berikut perintah-perintah pada terminal console yang mungkin akan membantu anda:
 

run

menjalankan function secara asynchronous untuk menjaga performa server agar tetap stabil ketika harus menjalankan tasking berat

run($object, $params=array());

semisal anda membuat function di bawah:
function aku_nama($firstName, $lastName)
{
echo $firstName." ".$lastName;
}

maka anda bisa memanggilnya dengan _class('async', 'aku_nama', array('Danang', 'Widaintoro'));

maka halaman akan melanjutkan proses selanjutnya tanpa menunggu proses tersebut dijalankan hingga selesai karena diproses secara background untuk lebih jelasnya mengenai instalasi dan penggunaan silahkan buka async

NB: membuat function pada framework harus mengikuti pola yang benar agar dapat dieksekusi secara benar yaitu [namamodule]_[namafunction] dan posisi function harus ditaruh pada file [namamodule]/_function.php

fix

mengeksekusi kembali method run yang telah gagal dijalankan

fix($async_id)