özel durum:İlk verinin tempfile olmadan ulaşması için bir boruda nasıl program yapılmayabilir?
, bir standart giriş aygıtına bir çıktı üretmek bir program anlamına gelir, ve kıvrımla uzak sunucudaki koymakgenerate_data | curl -T - http://someserver/path
.
sorun generate_data
çok fazla zaman alırsa, sunucu benim sonraki iterasyon nedenle borular, veri hazır olması beklemeden tüm komutları yürütmek biliyoruz 408.
dönecek olmasıdır:
generate_data | (sleep 20 ; curl -T - http://someserver/path)
Süre, generate_data'yı çalıştırmak için gereken en yüksek sürenin iki katıydı, bu nedenle her şey yolunda. Ama ... bu optimal bir çözüm değil.
Okumayla ve karmaşık bir kabuk komut dosyasıyla daha karmaşık bir şey oluşturabileceğimi biliyorum, ancak açık bir şey eksik olduğumu hissediyorum.
Yani ... Bir temp dosyası oluşturmadan sleep 20;
yerine ne kullanabilirim?
Ne kadar veri olacak? geçici bir dosya yazmaya ne dersiniz, ör. generate_data> tempfile; curl -T tempfile ... ' –
'Uyu' çalıştığı için minnettar ol! ;-) Hepinize iyi şanslar. – shellter