2014-04-29 3 views
5

है मेरे पास एक ऐसी स्क्रिप्ट है जो संसाधनों को हटा देती है और नए बनाता है। हर अब और फिर यह समय समाप्त हो जाता है और मैं क्यों नहीं समझ सकता। ऐसा लगता है जब मैं कई बार स्क्रिप्ट चलाता हूं, लेकिन मुझे एक निश्चित पैटर्न नहीं मिल सका। मैंने पाया कि मेरे सर्वर ने अभी तक संदेश नहीं उठाया है क्योंकि अनुरोध के लिए अभी तक कोई लॉगिंग नहीं है।Invoke-RestMethod: ऑपरेशन का समय

$old_values = Invoke-RestMethod -Uri $uri -Method Get 

foreach($old_value in $old_values.result) { 
    Invoke-RestMethod -Uri "$uri&key=$old_value.id" -Method Delete 
} 

$new_value = Invoke-RestMethod -Uri "$uri" -Body "{}" -ContentType application/json -Method Post 

दिलचस्प नोट, मुझे कभी-कभी समय-समय पर पावरहेल से Invoke-RestMethod कॉल चलाते समय दिलचस्प समय मिलता है। मैंने उन्हें फिडलर के साथ भी भाग लिया और कभी भी टाइमआउट नहीं मिला।

[संपादित करें] मैं नेटस्टैट के साथ कनेक्शन की जांच कर रहा हूं। जबकि आदेश लटक रहे हैं, वे स्थापित के रूप में सूचीबद्ध हैं। लेकिन मैं अपने सर्वर में सूचीबद्ध TIME_WAIT कनेक्शन देख रहा हूं। क्या कोई मौका है कि मेरे कनेक्शन बंद नहीं हो रहे हैं?

+1

आप को देखा है यह? क्या इससे संबंधित हो सकता है? http://connect.microsoft.com/PowerShell/feedback/details/836732/tcp-connection-hanging-in-close-wait-when-using-invoke-restmethod-with-put-or-delete –

उत्तर

4

लिंक डेविड ब्राबांट ऊपर तैनात इस समाधान है कि मेरे लिए समस्या हल होती है:

$r = (Invoke-WebRequest -Uri $uri ` 
    -Method 'POST' ` 
    -ContentType 'application/json' ` 
    -Body '{}' ` 
    ).Content | ConvertFrom-Json 
+0

यह बग तय किया गया है पावरहेल 5.0 में –

0

मैं Allanrbo का जवाब मिल गया है अभी भी 3 या 4 रन के बाद का समय-समाप्त करने के लिए।

मैं बजाय निम्नलिखित किया:

powershell "(Invoke-RestMethod -Method 'Delete' -Uri '$uri').Content" 
संबंधित मुद्दे