• 31-08-2019, 17:15:51
    #1
    Merhaba;

    php üzerinden mail gönderimi yaptığım bir sayfam var düzgün çalışıyor ancak mail atacağı liste uzun olduğu için mail gönderimi yaparken sayfa da yükleniyor olarak görünüyor ve o esnada kullanıcı başka bir işlem yapamıyor. Bu kodların bulunduğu sayfayı arka planda çalıştırmak istiyorum ancak bir türlü başarılı olamadım.
    Ajax ile post ederek sayfayı tetikledim ancak işlem yaptığım sayfadan ayrılıp başka bir sayfaya geçmek istediğimde (aynı site içerisinde) arka planda mail gönderimi tamamlanmadan işlem yaptırmıyor.
    internette exec ile ilgili bir kaç örnek gördüm ancak buda bir çok hostingte güvenli gerekçesi ile kapalı oluyormuş.
    Bu işlemi nasıl yapabilirim php dosyasına komut atıp arka planda kullanıcıyı etkilemeden mail gönderimini nasıl gerçekleştirebilirim

    Şimdiden yardımlarınız için teşekkürler.
  • 31-08-2019, 17:18:43
    #2
    iframe mantığıyla denedinizmi, with height 1 px vererek işlem devam ederken sayfalar arası geçiş yapabilirsiniz.
  • 31-08-2019, 17:20:45
    #3
    https://stackoverflow.com/questions/...tasking-in-php bunu inceleyin isterseniz.
  • 31-08-2019, 17:36:08
    #4
    Eger islem zamani standart ise cronjob kullanabilirsiniz.
  • 31-08-2019, 17:38:58
    #5
    NeTZeN adlı üyeden alıntı: mesajı görüntüle
    iframe mantığıyla denedinizmi, with height 1 px vererek işlem devam ederken sayfalar arası geçiş yapabilirsiniz.
    iframe ile denemedim ancak direk işimi göreceğini düşünmüyorum. Kullanıcı maili gönder dedikten sonra tamamen arka planda çalışmaya devam etmeli kodlar kullanıcının başka bir sayfaya geçmesinden etkilenmemeli veya sayfadan tamamen ayrılsa bile süreç devam etmeli.

    Ecancan adlı üyeden alıntı: mesajı görüntüle
    thread oluşturma mantıklı geldi c# ile masaüstü kodlama yaparken çokça kullandığım bir özellik php de olması da güzel ancak anladığım kadarı ile C# taki kadar kolay değil kullanımı yinede deneyim bilgi veririm.

    Siz daha önce kullandınız mı php de thread ?



    chedmade adlı üyeden alıntı: mesajı görüntüle
    Eger islem zamani standart ise cronjob kullanabilirsiniz.
    işlem zamanı standart ise den tam olarak demek istediğiniz anlamadım. Cronjob daha önce bir kaç kez duydum ancak hiç kullanmadım bildiğim kadarı ile windowstaki zamanlanmış görevlerin linux karşılığı doğru mudur ?
    Peki cronjob tetiklemesi nasıl yapılabilir kullanıcı mail gönderimi yap dediğinde çalışacak şekilde.
  • 31-08-2019, 17:43:07
    #6
    dbye mail gönderme tablosu açın ardından mail gönderme işlemi yapınca dbye kayıt edin durum 0 yaparsınız cron sayfası oluşturup 10 dakikada bir çalıştırmaya ayarlarsanız cron sayfasında da databesede durumu 0 olan varsa işleme alır bitirince 1 yapar kullanmak isterseniz mantık budur

    düzenleme: https://cron-job.org/ cron sayfası linkini buraya ekleyebilirsiniz genelde cpanel üzerinden minimum 15 dakika da bir çalışma sınırı veriyorlar
  • 31-08-2019, 17:45:07
    #7
    emiru9396 adlı üyeden alıntı: mesajı görüntüle
    iframe ile denemedim ancak direk işimi göreceğini düşünmüyorum. Kullanıcı maili gönder dedikten sonra tamamen arka planda çalışmaya devam etmeli kodlar kullanıcının başka bir sayfaya geçmesinden etkilenmemeli veya sayfadan tamamen ayrılsa bile süreç devam etmeli.



    thread oluşturma mantıklı geldi c# ile masaüstü kodlama yaparken çokça kullandığım bir özellik php de olması da güzel ancak anladığım kadarı ile C# taki kadar kolay değil kullanımı yinede deneyim bilgi veririm.

    Siz daha önce kullandınız mı php de thread ?
    Zor bir şey değil. 4 dilde kullandım bunların içerisinde php de dahil herhangi bir zorluğunu görmedim hepsinde aynı zaten Bir çok toplu mail gönderim sistemleri bu şekilde çalışır zaten.
  • 31-08-2019, 17:48:37
    #8
    arkaplanda dakikada 1 kez php dosyası çalıştır cronjob ile. mysql de gönderilecek mail adreslerini listele. gönderilmiş olanlar için gonderildi gibi bi sutun açıp gönderildi diye belirt.
    dosya her çalıştıkça gönderilmemiş 3 5 tane adres belirtip göndersin artık ne sıklıkla kadar göndereceksen
  • 31-08-2019, 17:50:13
    #9
    Ecancan adlı üyeden alıntı: mesajı görüntüle
    Zor bir şey değil. 4 dilde kullandım bunların içerisinde php de dahil herhangi bir zorluğunu görmedim hepsinde aynı zaten Bir çok toplu mail gönderim sistemleri bu şekilde çalışır zaten.
    Bilgilendirme için çok teşekkürler deneyip bilgilendirme yaparım

    alisahanyalcin adlı üyeden alıntı: mesajı görüntüle
    dbye mail gönderme tablosu açın ardından mail gönderme işlemi yapınca dbye kayıt edin durum 0 yaparsınız cron sayfası oluşturup 10 dakikada bir çalıştırmaya ayarlarsanız cron sayfasında da databesede durumu 0 olan varsa işleme alır bitirince 1 yapar kullanmak isterseniz mantık budur

    düzenleme: https://cron-job.org/ cron sayfası linkini buraya ekleyebilirsiniz genelde cpanel üzerinden minimum 15 dakika da bir çalışma sınırı veriyorlar
    Bilgilendirme için çok teşekkürler cronjob işide mantıklı geldi öncelikle hosting üzerinden kontrol edeyim herhangi bir sınırlandırma var mı cronjob için.

    Yardımlarınız ve fikirler için herkese teşekkürler