mysql ile php bir kuyruk yapmak için nasıl

4 Cevap php

hy,

benim komut i bir film dosyası ffmpeg ile yapmak için bir exec () işlevini çalıştırın.

Sorun, ffmpeg sunucuda sadece 1 kez çalıştırabilirsiniz olduğunu

2 kişi, sunucu ve zaten ffmpeg çalıştırmak ilk birinde çevrimiçi olup olmadığını ben ikinci ilk sonuna kadar beklemek istiyorum süreç

Bu kodu nasıl?

teşekkür ederim

4 Cevap

Bir yerde bir kilit ayarlayın.

Ffmpeg başladığında, ilerleme olarak işaretlemek için bir dosya ya da bir veritabanı tablosundaki bir bayrak. Her zaman ffmpeg bayrak değeri '1 'ise o kontrol var, başlar, ve eğer öyleyse, bekleyin ve 5 veya 10 saniye içinde yeniden deneyin. Sonra süreç sona erdiğinde, '0 'bayrağını ayarlayın. Bayrak '0 'olarak ayarlanmış bir hata çöker ya da komut varsa emin olun.

Yoksa, büyük olasılıkla farklı bir kullanıcı olarak ffmpeg işlemi çalıştırmak ve bir kerede birden fazla çalışan olabilir.

Jebus aşkına, don't implement your own queue. Mesajları alır ve dosyaları işleyen bir cini yazın.

  1. Neden daha iyi bir şekilde bu işlemek için hazırlanmış olan bu örneğin youtube / vimeo gibi video hosting service (ücretsiz) kullanarak değil o zaman hiç olabilir. Youtube bir API şeyler her türlü vardır.
  2. Eğer exec shared hosting kaçıyoruz? Barındırma paylaşılan Eğer CPU bu şekilde kullanmak gibi değil, çünkü böylece yasaklı almak için uyardı eğer. Onlar (30 saniye içinde) kısa Http isteklerini istiyorum. Gerisi sizin ilk yükseltmesi gerektiğini hosting için geçerli değildir.
  3. Ignacio örneğin gibi message queue (kabuk erişimi ile gerek linux kutusu) yüklemeniz gerektiğini söyledi gibi:

    1. redis ssh erişimi ile yüklemek için en kolay yolu bir linux kutusu varsa yeniden dağıtılmış olacaktır. Sonra uzun süren fffmpeg süreci (php script) bir zaman video işleme ile hazır tarafından kuyruğundan bir iletileri Redis ve almak için bağlamak gerekir. İstemci sadece basit kuyrukta mesaj koymak gerekir. Ben Redis temellerini almak için bu hızlı video izlemek için tavsiye ederiz.
    2. beanstalkd
    3. gearman

Umarım bu size biraz yardımcı olur. Ben de java basit bir görev kuyruğu yazıyorum, ama tamamen bitmedi duyuyorum. umarım bir yaklaşık bir hafta içinde github üzerinde o benim ilk sürümünü gönderebilirsiniz.

Bir asenkron kuyruğu kullanabilirsiniz. Her yeni istek bir mesaj olarak kuyruğa eklenir. Sizin süreç bir anda bir mesajı okur ve dönüştürmek isteğini işler.

Bir PHP kuyruğunda, sen Dropr deneyebilirsiniz veya benzer olabilir.