php ile zaman tanıml işlemler yapmak istiyorum. Örneğin sorgu butonuna bastığı zaman 2dk sonra işleme başlayacak ve bu 2 dakikayı ekrana göstermem gerekli sanırım jquery ile yapıcam. Yani sorguya başlat dediği zaman timer 2 dk yada benim belirlediğim süreden geriye doğru saymaya başlıcak sonrasında işlemi yapıcak. Ama işin aksi tarafı şu bu işlemi browserı kapatsa bile 2 dk sonra yapacak yani veritabanına yazmam gerekli nasıl bir yol izlemeliyim
Burak Yarar
B
yanlışım varsa düzeltin bu tür işlemler js ile daha uygun değil mi ?
js kullanmam gerektiğini biliyor ama işin içinde php de var. Js konusunda bilgim çok az
kafamdaki kısım şu tarayıcı kapandığında işlem nasıl saklanacak bellekten silinmiş olacak geçici saklama lazım
geçici ykaydet sil yapılsa oda bence yük olur
browser kapatma olayını atlayabiliriz
oyun mantığı var aslında inşaata başla inşaat 1. seviyeye çıkması için 5 dk gerekli gibi
bu şeye benzer bişey istiyorsun demi mesela sanal postlarda ödeme işlemine müteakip banka sistemine bağlanınca tele bir kod atıyor sora süre veriyor belirli ekranda sayıyor eğer o süre dolarsa kısım kapanıyor
öylede olabilir
ekrana zaman basma işini js yapar dier kısmı kurgulamak lazım
Aslında inşaat mantığı daha doğru olur. İşleme başladığında 5 dk sonra işlem bitmiş olacak bunu veritabanı ile takip edebilirim. Sonuçta yapacakları işlem buna benzer olacak
işlem bitince db ye yazdırılmalı sonucu
başlangıç bitiş saatini yazdırırım kullanıcı browserı açtığındaki süreyle karşılaştırır bittiyse işlem tamamlanmıştır der.
bu işi js gayet güzel yapacaktır js bilen arkadaşlar yardım edecektir bende düşüneyim js de çok iyi değilim
buna benzer biraz daha gelişmiş bişey olabilir
popupla ekrabana basarken
Mantik su islemi insaat bitis tarihi dbye eklenir ekranda js ilr ne kadar ise geri sayim yaparsin sure dolunca sayfa yenilenir insaat islemini on arayuzdemi, arka arayuzdemi yapiyorsaniz sure bittigi icin islem yapilmis olur kullanici ciksa dahi
Senin ihtiyacin olan sey, delay destekli bir queue paketi.
setInterval(function(){
// js
},2000);
2 saniyede bir çalışır
Adam tarayıcı kapansa bile çalışacak diyor.
https://github.com/aykutkardas/mastertime
çalışmyor
Çalışıyor. Bir çok projede kullandım kullanıyorum ve kullanılıyor. Dökümantasyon u incele. Ya da scripti import ettiğin ve mastertime tetiklediğin kısmı at yardımcı olmaya çalışayım.
Aykut Köz o zaman test. Html dosyasında sorun var
Evet. Önceki sürümün testiydio. Scripti kapanan body tagından önce import etmelisin. Test. Html i güncelledim. Bahsettiğin tarzda bir oyun geliştirmiştim. Mastertime ı kullandım.
Aykut Köz oyun internette varmı bakabileceğim bir link?
db ye bitiş zamanını yazdır, ondan sonra bitiş zamanı ile şimdiki zamanın farkını phpden çek örneğin 300 saniye, js ile her saniye değerinden 1 düş ve kullanıcıya göstert süre sıfır olunca sayfayı yenilet gerisini php yapacak
Kimse tarayici kapanirsa kismina cevap vermemis, bu kisim cron ile olur. Siz tarayiciyi kapattiginizda yazdiklarinizin hic bir hükmü yok.
benim yazdığımda var tarayıcı kapansa bile zaman farkını kontrol edip işlemi tamamlayabilir
Tarayiciyi nasil acacak tekrar, sizin yaptiginizda tarayici acildiginda aktif olur isterseniz localde deneyin. sayfanın bir kere yenilenmesi için zaten mantık olarak browser açık olması gerek. E browser kapalı...
js nin yapması gereken eğer php de bitiş zamanı ile şimdiki zaman arasında fark var ise onu çekip geri sayım yaptırmak eğer ki yoksa sonuc fonksiyonunu çağırmak
Mantiginizda problem yok. Bu sekilde evet islem gerceklesir ancak js in yorumlanmasi icin tarayicinin acik olmasi gerek. Tarayici kapaliyken tetikleyemez. Ancak islem saati geçmişse tarayici acilir acilmaz yorumlanip olumlu zaman farkindan dolayi calisir. Soru ise tarayici kapaliyken yapmasi travian oyun mantigi gibi
işte onu diyorum onu php yapacak
Aykutun mastertime projesi ile süre kismini halledip, tarayici kapanirsa devam etsin kismina da, cron ile kontrol ettirilerek yapilir.