PHP farklı komut arasındaki kontrol uygulaması akış

3 Cevap php

Hi i have a php script that accepts a POST request as a listener to a web service then process all the data to two final arrays, I'm looking for a way to initiate a second script that GET's those serialized arrays and do some more processing. include() will not be good for me since i actually want to "free" or "end" the first script after passing the data

Lütfen yardım çok zaman olduğu gibi takdir :)

EDIT - kuyruk çözüm olabilir gibi Tamam öyle görünüyor! i herhangi örnekleri ya da referans önce böyle bir şey yapmadım?

3 Cevap

Hemen gerçekleşmesi gerekiyor mu? Aksi takdirde her X dakikada yapar bir cronjob kurmak olabilir. Size ilk komut ikinci script "isteklerini" sopalarla in kuyruğuna çeşit yapmak gerekecek. Cronjob sonra kuyrukta istekleri işler.

Siz fonksiyonları sadece bir toplama (otomatik-ran komut, per se) php komut yazma alışkanlığı içine almak gerekir. Bu şekilde komut dosyası hakkında konuşurken üstündeki bir komut dosyası içerir ve ne istediğinizi yapar işlevini çağırabilirsiniz.

Örneğin:

<?php
include('common_functions.php');
$array_1 = whatever_you_do_with_post_values();
$array_2 = other_thing_you_do_with_post_values();
// this function is located in 'common_functions.php'
do_stuff_with_arrays($array_1,$array_2); 
?>

In Fact:

Sadece dediğimi ile tutarlı olması için:

<?php
include('common_functions.php');
do_your_stuff();
function do_your_stuff() {
    $array_1 = whatever_you_do_with_post_values();
    $array_2 = other_thing_you_do_with_post_values();
    // this function is located in 'common_functions.php'
    do_stuff_with_arrays($array_1,$array_2); 
}
?>

Açıkçası daha iyi işlev & kullanmalısınız değişken adları, haha.

Ben tek isteği her şeyi istiyorum. Bu gecikme keser ve tüm operasyon daha verimli hale getirir.

Eğer uzun süren bir isteği var, ama yine de diğer istekleri hizmet hatırlıyorum. Apache sadece ilk tamamlanmamış olsa bile webcoder diğer isteği işlemek için başka bir php süreci doğacaktır. Sürece komut paylaşılan bir kaynağı (veritabanı dosyası vb) kilitlemek değil gibi bu sadece iyi çalışır.

O dedi, cURL, ikinci komut aramak için kullanmak gerekir. sonra dizgilenmemiş dizi yayınlayın. Curl kalan idare edecektir.