• 14-09-2020, 23:42:12
    #19
    emreires adlı üyeden alıntı: mesajı görüntüle
    Ben de teşekkür ederim. Genelde cpanel, plesk veya terminalde cron işi yazmayı pek sevmediğimden (hele o sıfırlar ve yıldızlar ) bu tarz bir çözüm bulmuştum ben de zamanında
    😁 evet o zamanlar öyleydi fakat artık hepsi selectbox lar ile yönetilebilir oldu. Fikriniz bana farklı bir fikir kattı bu tarz durumlarla karşılaşan arkadaşlar içinde seçim imkanı olmuş oldu
  • 14-09-2020, 23:59:40
    #20
    select * from yazilar where publish_date <= simdikizaman
  • 15-09-2020, 00:49:52
    #21
    if else sorgusu için sisteme o an giriş gerekecektir. İlgili içeriğin belirlenen tarihte yayınlanması ziyaretçiye yada manuel takibe bağlı olmaması gereken bir olay olduğu için anlık yayınlanması ve güncellenmesi gereken içerikleri kontrol edip zamanı gelmişse yayınlayan bir fonksiyon oluştur ve belirli periyotlara bağlayarak cron’lat. Ve bu fonksiyonun içinde güncellenmesi gerektiği halde güncellenmeyen içerikleri de hataları ile birlikte mail atan yada panele düşürecek bir iç fonksiyon da önermekteyim. Saygılarımla
  • 15-09-2020, 01:25:26
    #22
    emreires adlı üyeden alıntı: mesajı görüntüle
    Cache kullanmadan her page load'da sorgu çağırırsanız zaten ne olursa olsun performans kaybı yaşanır. Yani ister cron, ister if else yapısı her ikisi de sağlıksız olur cache kullanılmaz ise. Sonuç olarak her F5'te sorgu demek

    30 yada 60 dakikalık bir cache, üstüne bu attığım şekilde bir sorgu yapılırsa (cache sistemini iletebilirim lazım ise) performans konusunda çok sağlıklı oluyor. Hem her F5'te sorgu oluşmuyor. Hem MYSQL'de şişme yapmıyor. Hem de cron ile uğraşmamış oluyorsunuz.
    Cache sistemini iletebilir misiniz hocam ?
  • 15-09-2020, 01:30:16
    #23
    Konudaki tartışmalar çok güzel
    --
    + Sen cronjobu savundun.
    - Hayır savunmadım.
  • 15-09-2020, 02:01:36
    #24
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Cron bu durumda daha etkili bir yöntem olacaktır.

    if - else ile elbette yapılabilir. Lakin bu kodun çalışması için triggerlanması lazım.

    if - else ile yapmak isterseniz en iyi mantık şu şekilde olacaktır;

    arkadaşların dediği gibi, veritabanına bir published_date kısmı oluşturun. veriyi timestamp olarak yolladığınızı varsayalım. Ek olarak birde published kısmı oluşturun. 1 - 0 veya true false adında değerler girin.

    Şuanki timestamp olarak bunu baz alıyorum: 1600123865 ( time() )
    Yayınlayacağınız tarih içinse: 1600210217

    /* $publish_status değişkeni ile ilgili postun yayınlanıp yayınlanmadıgını, published değerini kontrol ettiğinizi varsayıyorum. */
    
    /* $publish_time değişkeni ile ilgili postun published_date değerini veritabanından aldığınızı varsayıyorum. Tabi $publish_status eğer 0 (yayınlanmamış) ise. */
    
    
    if ( $publish_status == false && time() > $publish_time ) {
    //burada ilgili postun veritabanındaki published değerini 1 olarak ayarlayacağınız, yani yayına alacağınız kod bloğu.
    }
    Sonrasında $publish_status true olduğu için if bloğunuz çalışmayacak.

    Yapınızı bilmesemde bunu bir döngü içerisinde yaptığınızı varsayıyorum, döngü içerisinde kullanım yaparsanız ilgili amacınıza ulaşırsınız.

    Elbette tavsiyem cron ile yapmanızdan yana. Çünkü siz veya bir başkası siteyi ziyaret etmedikçe ( kod tetiklenmedikçe ) çalışmayacak.
  • 15-09-2020, 02:43:01
    #25
    WebKadir adlı üyeden alıntı: mesajı görüntüle
    Cache sistemini iletebilir misiniz hocam ?
    Hocam sana zahmet PM'den whatsapp iletirsen yarın pc'ye geçince göndereyim.
  • 15-09-2020, 02:46:55
    #26
    If else yerine cron daha mantıklı duruyor. Önbellek varsa if else durumu pek bir işe yaramayacak.
    Cron dosyanızda içerik kontrolü yaparken, içerik eklenmişse önbellek temizle şeklinde bir betik de girersiniz tertemiz olur.
  • 15-09-2020, 03:04:56
    #27
    Ne if-else ile uğraşın, ne de cronjob ile uğraşın. Bu işi SQL tarafında halledin. En doğru cevabı bu arkadaş vermiş. Bu sorgudan dönen sonuçlar otomatik olarak zaten yayınlanmasını istediğiniz tarihte yayınlanmış olur. Yani aslında bir statü vermenize gerek yok, yayınlanma tarihini geleceğe göre ayarlayın yeterli.

    emrtnm adlı üyeden alıntı: mesajı görüntüle
    select * from yazilar where publish_date <= simdikizaman