new insight! akhirnya nemu cara utk handle expiration dgn graceful
@YuuCodes16 күн бұрын
iyeeyy, sempet bingung soal cron dinamis begini makasih vaporizel dah mewakili pertanyaan makasih pak eko dah menjawab, ilmu baru
@adhityafebhiakbar294612 күн бұрын
Wah makasih pak ilmunya, saat ini saya implementasi untuk time yang dinamis dan fix dengan manfaatin cron job dan rabbit mq (supaya bisa di scale). Ternyata saya menyianyiakan fitur delay pada rabbit mq, akan saya coba enhance deh supaya maksimalin potensi rabbit mq untuk kasus schedule time yang dinamis.
@bisquestudio16 күн бұрын
mantab, thanks ilmunya pak eko
@ankcuputv15 күн бұрын
thanks bgt ilmunya ini pak eko, dapat insight jadinya :)
@buditriwibowoyuliwidianto02315 күн бұрын
thanks for sharing Pak Eko
@AreaWIBU16 күн бұрын
kaget pas baca judulnya doang, ternyata selama ini bener pake cron karena gua cmn make buat fixed schedule
@selangkahajadulu16 күн бұрын
mantap pak eko ilmunya
@rafifmulia11937 күн бұрын
makasing bang ilmunya
@ridwan410716 күн бұрын
terimakasih mas!
@kurabasakurata257516 күн бұрын
sepertinya untuk user nodejs tidak perlu terlalu khawatir karena js berbasis event jadi bisa bikin custom event sendiri.
@ProgrammerZamanNow16 күн бұрын
tetep gak optimal, udah dijelasin di video
@kurabasakurata257516 күн бұрын
@ProgrammerZamanNow sebelumnya saya masih 1 tahun pelajarin nodejs, jadi saya masih kurang paham bagaimana optimasi memorinya. nah yang saya tangkap tadi kurang optimalnya ketika prosesnya mati dan daftar event itu hanya tersimpan di memory ketika server restart daftar event itu akan hilang. pendekatan yang saya lakukan adalah ketika mendaftarkan event itu membawa datetime dan juga parameternya sembari menyimpan informasi ke database, ketika event yang terdaftar itu terpanggil oleh loop process maka dia juga menandai di database kalau event sudah dijalankan. dengan cara itu ketika server restart bisa kembali diinisialisasi ulang event yang belum dijalankan. pernah saya lakukan di project whatsapp gateway untuk saya sendiri. maaf kalau bahasanya banyak yang misleading karena saya selama ini tidak masuk ke komunitas pemrograman, dan hanya fokus bekerja sendiri 😅.
@kurabasakurata257516 күн бұрын
@@ProgrammerZamanNow dan itu juga saya lakukan karena saya sendiri user kere hore pak 😅. jadi manfaatin shared hosting murah yang ngedukung nodejs. kalau pakai vps ya besar kemungkinan memakai rabbitqt juga kalau ada project yang memungkinkan pakai delay event itu tadi.
@aisimo14 күн бұрын
di nestjs bisa pake bull, di python pake celery, kotlin pake kue
@johanindrapermana732816 күн бұрын
Enakan pake jenkins dibanding crontab, kalo ada script yg gak jalan bisa ketauan.
@DidienMarudin16 күн бұрын
@@johanindrapermana7328 di crontab juga bisa di cek di /var/log/cron
@nolep55557 күн бұрын
saran cenel kayak gini tapi sisi frontend
@broklyngagah12 күн бұрын
Apakah tetap ok jika case dinamis ini dengan menggunakan rabbitMQ delay ? misalkan utk delay selama 1 minggu / 1 bulan kedepan?
@azzamjiul16 күн бұрын
wah baru tau ada NSQ, biasanya kalo ga pake kafka ya rabbitmq 😁
@RoydoAriPratama15 күн бұрын
Om, bahas teknik transisi untuk ngatasin perubahan PPN 12% yang sekema perhitungannya dari DPP*(11/12) dong. Dari sudut pandang programer yang menghadle projek yang berkatan dengan penjualan.
@IlhamAinur15 күн бұрын
knp ppn nggak dibuat dinamis di tabel sendiri?
@marrosandybagus.s516213 күн бұрын
pakek env bisa
@sinerbitech9 күн бұрын
Harusnya nilai presentase PPN nya dicatat juga ditrasaksi... Jadi kalo ada perubahan nilai PPN ga ada masalah karena transaksi akan mengambil nilai dari transaksi...
@RoydoAriPratama9 күн бұрын
@sinerbitech Sudah di catat om. Struktur tabelnya sederhannya seperti ini : kode_transaksi kode_pelanggan haga_barang diskon (dalam persen) ppn (dalam persen) Nah, sehingga untuk menentukan PPNnya itu rumusnya kita cari (Dasar Pengenaan Pajak) DPPnya dulu dengan rumus DPP=harga_barang - (harga_barang*(diskon/100). Kemudian untuk mencari nilai PPNnya rumusnya NILAI PPN = DPP * (PPN/100). dapatlah nilai PPNnya. Masalahnya, peraturan pemerintah sekarang terkait PPN 12% itu agak aneh, mungkin mas bisa baca sendiri di peraturan terbarunya. dimana penentuan PPN itu tidak dari DPP lg, melainkanada DPP 11/12. Jadi PPN itu di pungut 12% dari nilai dpp baru DPP BARU = DPP * (11/12). itu yg jadi repotnya. Klw kita mau merubah kode jadi masalah mas apa lagi klw mau merubah struktur table, sementara data yang sudah ada di sistem sudah ada banyak karena sistem sudah berjalan 5 tahun. Intinya tari pajak tetap 12% hanya dppnya yang di turunkan. Akal2an yang cukup membingungkan dari Pemerintah
@RoydoAriPratama9 күн бұрын
@@sinerbitech Mohoon pencerahannya.😁
@lukmanhadi176814 күн бұрын
ilmu baru ni , btw izin bertanya , event event seperti ini itu biasanya itu dialami oleh seorang backend developers ya ? , misalkan kalau mobile dev itu bakalan ngalamin schedule job gak sihb?
@anta4013 күн бұрын
Android? Bisa dong. Misal schedule download data gede jika lagi nyolok ke listrik atau konek ke WiFi
@iqbalch6379Күн бұрын
kalau misalkan pakai mysql kayak set event itu konsepnya sama gak pak kayak yang dijelakskan dengan rabbitmq tdi?
@farisdewantoro506913 күн бұрын
setuju dengan studi kasus cancel order, namun menurut saya tidak cocok untuk data yg expirednya beragam dan range expired nya cukup jauh karena jika expired terlalu jauh akan membebankan rabbitmq dengan data yang menumpuk disana. balik lagi ke kasusnya seperti apa yaa
@yoddidahsyat8 күн бұрын
terus kalo expired nya jauh solusinya gimana bang?
@Kimcpm2 күн бұрын
Mungkin ini yang saya analisis ada beberapa bank yang tidak bisa transaksi di atas jam 10 malam mungkin karena adanya clear ini apakah benar? Tolong jawab apakah itu benar
@rickyraihana568315 күн бұрын
event driven archi
@mofadillah16 күн бұрын
Hmm.. aku coba browsing, kalo kayaknya Apache Kafka tidak memungkinkan untuk melakukan hal seperti itu.. Apakah ada teman teman yang pakai Kafka untuk achieve problem sejenis?
sekarang jarang menggunakan CRONTAB malah seneng pakai QUEUE Rabbit MQ, apalagi kalau buat ngerjain payment processing
@massamsss16 күн бұрын
Kl di NestJs sering pake Bull, itu ada delay job juga. kyknya mirip2 ya
@imamulikhlas70416 күн бұрын
sama aja dia juga sebagai message broker, nestjs juga bisa pakai rabbitmq atau kafka kok
@massamsss16 күн бұрын
@imamulikhlas704 yup betul juga mas
@yudaferrymahendra5 күн бұрын
behind process-nya rabbitmq apakah tidak menggunakan scheduler juga ? apakah ini arti-nya kita tidak handle scheduler-nya, di serahkan ke rabbitMQ meskipun cara rabbitMQ handler process-nya tetap menggunakan scheduler.
@atmanegara15 күн бұрын
sekalian saya tanya bang eko, apa sama dengan fungsi "event" pada database contoh di mariaDB / Mysql ?
@_whitecatfullgrown16 күн бұрын
kalau datanya udah fix dan sesuai jadwal running daily. Waktunya pindah ke cloud, contohnya aws eventbridge sebagai crontab nya dan lambda sebagai computenya. Lebih efisien dan tahan banting.
@awikwok21216 күн бұрын
Tidak cost eficient
@islamyakin403616 күн бұрын
@@awikwok212 wkwkwk bener sih mas
@_whitecatfullgrown13 күн бұрын
@@awikwok212 sesuai kebutuhan, dengan data 10jt - 25jt row lebih baik pakai ini dari pada cronjob yg jalannya bareng dengan job² lainnya (ada jadwal sama bakal ngantri)
@ihsanarmchairfan16 күн бұрын
baru tw solusinya skrng, padahal permasalahannya udh 3tahun yg lalu dan sudah g handle klien tsb. hahahaha😂
@SigitPrasetyadwi5 күн бұрын
maaf bang, itu bikin flw chart nya pake apa ya ?
@mohamadfebrianmosii913211 күн бұрын
Kalau misal nya ada accident, yg menyebabkan data di datastore hilang, bagaimana mitigasinya? Atau jika statusnya bergantung dengan payment Gateway.
@zulfiqrysaadputra16 күн бұрын
crontab lebih buat hal-hal yang terkait os atau script harian aja
@knobhack8 күн бұрын
Jika pakai Scheduled Queue Job (seperti laravel queue) apa impikasinya?
@bryanrafsanzani22516 күн бұрын
nice to try, biasa pakai queue sama crontab wkwk
@renaldolouis871412 күн бұрын
jadi intinya pakai messaging queue biar running di background process?
@achyarca15 күн бұрын
kalau di nestjs ada bull basenya pakai redis..
@siwathe915 күн бұрын
Untuk delayed ini ada fitur cancelation ga ya? Cth dari 50 jt yg delay ternyata 30jt batal di-delay karena custumer udah melakukan pembayaran. Jd cuman 20jt aja yg diproses.
@achmadsyarippudin259910 күн бұрын
harusnya bisa mas misal kasus order id 10 udah di bayar, maka tinggal lakukan delete record ke rabitmq
@Lukmandst16 күн бұрын
wohhh baru tau
@onnayokheng16 күн бұрын
Kalau di laravel pakai delay, dan queue-nya pakai redis, ada insight mas?
@adubrohmanakbar804115 күн бұрын
Nah iya, di laravel ada delay ya, buat waktu dinamis
@ajiics346915 күн бұрын
Kalo pakai DLX gimana mang eko ?
@senjaya343316 күн бұрын
gw pake crontab bang wkwkwk 🤣 easy to install and maintain.
@rekiyanseto628913 күн бұрын
Kalau waktunya RabitMQ balikin message ke app order kebetulan app nya mati, bukankah app ordernya tetep ga bisa dengerin dan lost track terhadap data tersebut? 🤔
@ProgrammerZamanNow13 күн бұрын
Masih ada datanya di rabbitmq
@muchammadgalihsaputra548016 күн бұрын
kalau dari data Order tersebut ada kebutuhan untuk analytics/data AI?
@yunindyoprabowo193716 күн бұрын
bisa ditambah logging kalo emang ada perubahan yg dinamis,, bisa juga kita capture perubahannya misal pake scd atau cdc
@muchammadgalihsaputra548016 күн бұрын
@@yunindyoprabowo1937 sepemahaman saya, masih ada kemungkinan data hilang kalau begitu (si CDC /SDC gagal kirim karena network failure atau target Storage CDC / SDC mati)
@imamlingga711711 күн бұрын
App buat coret-coret pakai apa ya pak Eko?
@ProgrammerZamanNow11 күн бұрын
excalidraw
@imamlingga711711 күн бұрын
@@ProgrammerZamanNow makasih pak eko
@chandragie16 күн бұрын
bisa pake control M juga
@ProgrammerZamanNow12 күн бұрын
selesaikan dengan uang
@fajar646316 күн бұрын
Kalo dynamic tapi delaynya bisa 1 bulan gimana pak? Apa rabbitmq bisa ngedelay sampe 1 bulan
@ProgrammerZamanNow16 күн бұрын
Bisa, kan kayak nyimpen data aja
@fajar646316 күн бұрын
Ohh oke" makasih pak
@gedeyoga194816 күн бұрын
tergantung case gan, kalau expiry_date format nya berupa tanggal 2025-01-15 better scheduling perhari aja.
@samsul_dev16 күн бұрын
masih belum paham studi kasus nya pa, jadi klo ada sebuah order yang di jadwalkan 1 jam, terus klo sebelum 1 jam udah ada payment, apakah akan tetap menunggu klo engga gimana methode nya di rabit mq nya ?
@ProgrammerZamanNow16 күн бұрын
Jadi pas event nya datang 1 jam, cek dulu ke db, kalo udah dibayar maka event nya di ignore
@abednegosteven-442316 күн бұрын
@@ProgrammerZamanNow kenapa perlu ada field "expired_date" itu pak? kenapa ga bisa dikonfirmasi aja saat pembayaran jadi ga butuh check2 expired date-nya lagi, saya kurang paham.
@MySanzar16 күн бұрын
oalah jadi di deferpublish buat sweeping data yg gagal bayar di dalem consumernya. delay timenya bisa dynamic juga kalo gitu tergantung payment methodnya
@ProgrammerZamanNow16 күн бұрын
@@abednegosteven-4423 gimana kalo gak dibayar2? kan stock barang butuh dibalikan lagi, masa nanti stock nya jadi gak bisa dibeli karena nunggu orang yang gak bayar2
@@ProgrammerZamanNow biasanya pakai artisan queue di set ke supervisor
@mhasan-udn16 күн бұрын
@@ProgrammerZamanNow sorry, om. Setau saya default cronjob itu kalau Schedule Job. Mungkin ini yang dimaksud pakai Queue Job, jadi running nya pakai Supervisor. Tetep bahaya kah? Soalnya pernah implementasi RabbitMQ di Laravel cukup berdarah-darah. Karena belum official support 😅
@microtechjayadevelopers16 күн бұрын
kayaknya aman karena laravel quee bisa berjalan terpisah dengan worker dan data disimpan ke database tinggal pilih pakai driver yang mana misal mongodb. Untuk antisipasi saat server retstart bisa pakai supervisor
@sooluh13 күн бұрын
@@mhasan-udnasli capek banget implement rabbitmq di php wkwk
@KunglawAdy15 күн бұрын
berarti pakai redis bisa donk pak ?
@ProgrammerZamanNow15 күн бұрын
Kalo restart, nanti ilang datanya
@backupwaaja243213 күн бұрын
@@ProgrammerZamanNow di config redis bosa set save to storage, pas restart gak ilang selama timenya blm expired
@hooyah16 күн бұрын
misal saat rabitmq kirim data, dan sialnya saat itu app mati. apakah di rabitmq ada system retry atau ilang gitu aja ya?
@chapsaplayer350116 күн бұрын
@@hooyah bantu jawab, ada
@hooyah16 күн бұрын
@@chapsaplayer3501 oh keren ya berarti. okeh om tengyu🙏
@laurdys542110 күн бұрын
kafka juga
@gjryubi16 күн бұрын
Kalo datastorenya mati, apakah dia akan retry?
@ProgrammerZamanNow16 күн бұрын
Kayak database aja, kalo mati tinggal start ulang
@MihanFamily16 күн бұрын
@@ProgrammerZamanNow kalau seperti case yg di video, apakah message yg tersimpan di datastore dan sudah melewati time expirednya langsung terpublish ketika datastorenya sudah up kembali?
@ProgrammerZamanNow16 күн бұрын
@@MihanFamily iya
@MihanFamily16 күн бұрын
@@ProgrammerZamanNow kalau misal kasusnya dibalik, pada saat datastore mengirim message yg timenya expired, namun aplikasinya mati, bagaimana solusinya? apakah di combine dgn pengecekan oleh cron yg running periodic? atau saat aplikasi up kembali, langsung menjalankan thread terpisah utk query dan mengupdate data yg expired timenya sudah lewat tadi?
@ProgrammerZamanNow16 күн бұрын
@@MihanFamily kalo belum di acknowledge sama app, data tidak akan dihapus
@taufik.nurhidayat15 күн бұрын
Wkwk suaranya malah ai b inggris
@ikhsanrahman970310 күн бұрын
Crontab masih bisa kok dibuat dynamic,
@nori_nofandi17 күн бұрын
Mantap
@Maulanafb17 күн бұрын
👍
@EvradaNumiro-x9z16 күн бұрын
padahal mah tinggal get 50 data / menit ( limit ), masukin ke db ( cron list ) trus eksekusi cron list / 50 data. Sesimpel itu logikanya. Aku aja mysql jt an aman make gini. mana PHP lagi wkwkwk
@andhanautama145216 күн бұрын
tidak scalable ini mas
@mftn171516 күн бұрын
Diagramnya pakai aplikasi apa pak?
@zakichoiruddin516216 күн бұрын
Bantu jawab, Excalidraw
@mftn171516 күн бұрын
@zakichoiruddin5162 wah terima kasih sudah dijawab👍