Bir işlemi gerçekleştirmek ve bir Web sunucusu için güncellemeler / geri aramalar göndermek için Javascript kullanma

2 Cevap php

İnsanların web tabanlı bir arayüz üzerinden PDF dosyaları upload ve belgeyi (sayfa düzeni) yönetmek için izin vermek için bir süreç üzerinde çalışıyorum.

PDF dosyasının sayfaları baskı için belli bir büyüklüğe kırpılmış gereken ve şu anda biz bu önemser bir Photoshop eylem yoluyla onları çalıştırın.

Ne yapmak istiyorum (web sunucusuna geri göndermek görüntüleri dönüştürmek, photoshop eylem) istenen işlemi gerçekleştirmek için özel bir sunucuya PDF dosyaları upload.

Ne işlevleri gerçekleştirmek için bazı iyi yolları vardır, ama onların dosyalarını işlemek için alıyor ne kadar haberdar kullanıcı tutmak için süreç izleme / ilerleme çubukları için izin vermek için web sunucusu güncellemeleri göndermek.

(Web tabanlı teknolojileri üzerine bir vurgu ile) genel işler / süreçlerin takibi / kuyruk için bazı iyi teknikler Ayrıca nelerdir?

2 Cevap

Derek, Photoshop kullanarak için nedenleri var eminim, ama ciddi, Imagemagick sizin için yetersiz hale mi? Ben Imagemagick kullanarak% 15 oranında kontrast ve Parlaklık artan sonra, TIFF Fax.g3 dönüştürülen dosyaları faks programı ile bir kez çalıştı ve geri PDF'ye dönüştürülür. IM system() çağrı tarafından çağrılan bağımsız Linux program olarak çalıştı ve ben yeni Imagemagick PECL uzantısı olduğunu biliyorum.

Bir kuyruk oluşturmak ve bu işleri itin. Kuyruğundan işleri alır ve bunları işlemek bir cronjob veya cini çalışan var. Eğer kilitleme çeşit kullandığınızdan emin olun, böylece güvenli bir şekilde durdurabilirsiniz / daemon / işini başlatmak.

Eğer işi hızlı bir şekilde bitirmek için bekliyorsanız, "kuyruklu yıldız" olarak bilinen bir tekniği kullanabilirsiniz. Temel olarak, sunucu tarafı komut dosyasına javascript (XmlHttpRequest kullanma) bir bağlantı kurmak. Iş tamamlanmış ise bu komut, kontrol. Değilse, bir saniye ya da iki uyku - sonra tekrar kontrol ediniz. Iş bitinceye kadar bunu yapmaya devam. Sonra bir yanıt geri vermek. Sonuç isteği tamamlamak için bir süre alacağını, ancak hemen dönecektir. Daha sonra (sayfa veya ne olursa olsun güncelle) javascript gerekli önlemleri alabilir.