4

だから私は4dアプリケーションと通信する必要があるphpアプリケーションに取り組んでいます。4dアプリケーションは、外部通信にSOAPWebサービスを使用します。

SOAP Webサービスには、4dアプリケーションへのファイルのアップロードを可能にする機能があります。4dアプリケーションのWebサービスのファイルアップロード機能の性質が壊れているため、ファイルをWebサーバーにアップロードするためのプログレスバーを実装し、その後、ファイルを4dアプリケーションサーバーに送信しようとしました。しかし、クライアントにとっては、サーバーへの最初のファイルアップロードを待ってから、ファイルアップロード機能を実行してWebサーバーから4dアプリケーションのサーバーにファイルを転送する必要があるため、これは適切ではありません。

私の質問は、ファイルのアップロードをブロックしない方法で処理する方法はありますか?たぶん、SOAP関数をすべて一緒にバイパスすることさえあります。

更新:RabbitMQのようなものを使用して、各ファイルアップロードアイテムをキューに入れ、後でスクリプトまたはアプリケーションから切り離されたものを使用して処理し、アプリケーションをブロックしないようにすることを考えていました。

4

1 に答える 1

2

提案された解決策は、それを解決する適切な方法です。HTML5ファイルアップロードまたはswfuploadのいずれかを使用して通常のWebアプリケーションからアップロードを受け入れ、アップロードの進行状況バーを表示できるようにします。次に、それをローカルに保存し、ワーカーが後で処理するGearmanまたはRabbitMQタスクをキューに入れます。

ワーカーはファイルをローカルでフェッチしてリモートサービス(4d / SOAP)にアップロードし、終了時にデータベースに適切なステータスを設定して、ファイルが処理されて実際のサーバーに追加されたことをユーザーが認識できるようにします。

于 2012-10-22T13:54:26.773 に答える