ノード上にファイルストリームを作成しましたが、ファイルアクセスが心配です。別のノードからストリームを開始するとどうなりますか?別のノードからストリームを開始していますか?
と同様に、ノードAの上に、私はそれを起動せずにストリームを作成します。
stream= File.stream!(path)
Agent.start(fn -> %{"stream" => stream} end, name: {:global, :my_stream})
、その後、ノードBに、私はストリームを開始:
はstream= Agent.get({:global, :my_stream}, fn %{"stream" => stream } -> stream end)
Task.start_link(Stream, :run, [stream])
ストリームがファイルをアップになります期待どおりにノードAに? (ノードBはストリームが開始される場所であるとみなして)ファイルがノードAに実際に存在するために失敗した場合、ノードBでそれを探すでしょうか。
ファイルは保存されていますか?どうすればいい?しなければならない?
path
、modes
、raw
、及びline_or_bytes
:
ここでは「パス」とは何ですか?ファイルの場合は、両方のノードから同じように表示する必要があります。これは、リモートノードでは必ずしも当てはまりません。 – GavinBrelstaff
'path'はファイル(パスを含む)ですが、別のサーバーに各ノードがあるので、私のアプローチは安全ではないと思いますか?または少なくとも、動作保証されていない? – simo
ネットワーク接続されたノードで 'File.stream'を使った私の経験から、各ファイルシステム/ OSに適合した' path'名を持つ各erlang-VM上に、そのファイルのローカルコピーが必要です。作業。 'File'はURLではありません。 – GavinBrelstaff