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...]);
Contoh Eksekusi Function yang akan dijalankan 2jam kedepan
_class('async')->run('function_name', [$input1, $input2...], '2 HOURS');

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 langkah yang perlu anda lakukan sebelum anda menggunakan class ini
  1. jika anda menggunakan docker maka semua keperluan async sudah tersedia jadi bisa tinggal dipakai
  2. Jika ingin mengintall manual pada ubuntu anda bisa menggunakan bash command di bawah
    cd /var/www/html/master/
    cp includes/system/docker/esoftplay_async  /etc/init.d/esoftplay_async
    chmod +x /etc/init.d/esoftplay_async && update-rc.d esoftplay_async defaults
    echo "
    [program:esoftplay_async]
    command=/bin/bash -c '/etc/init.d/esoftplay_async start' &
    autostart=true
    autorestart=true
    priority=25
    startretries=5" >> /etc/supervisord.conf
  3. untuk pengguna centOS/macOS dll. anda bisa melihat command dari ubuntu di atas untuk diimplementasikan ke system anda
  4. membuat cronjob per menit untuk mengawasi jalan nya async dengan mengarah ke domainanda.com/user/async/cron
    * * * * * curl -s http://domainanda.com/user/async/cron

 

File Path: includes/class/async.php class untuk melakukan proses background, berguna untuk menjalankan function yang membutuhkan resource atau waktu yang lama sedangkan user atau pengunjung tidak perlu menunggu

0 Comment

Post Your Comment

Terakhir Dilihat

Method Tersedia