2016-06-30 11 views
0

Ich habe eine bestimmte Methode für die letzten anderthalb Jahre verwendet, um die virtuellen Gäste von unserem Konto zu laden. Irgendwann in der vergangenen Woche ist es kaputt gegangen. Der folgende Code (mit Ruby Gem 3.1.1) gibt einen 500 Internal Server Error:Erhalten von 500 internen Serverfehler von Account.getVirtualGuests()

softlayer_client = SoftLayer::Client.new() 
    obj_svc = softlayer_client['Account'] 
    obj_svc = obj_svc.object_mask('mask[ id,tagReferences ]') 
    result = obj_svc.getVirtualGuests() 
    result.each do |pre_obj| 
    puts pre_obj.inspect 
    end 

Aber dies nicht:

softlayer_client = SoftLayer::Client.new() 
    obj_svc = obj_svc.object_mask('mask[ id ]') 
    result = obj_svc.getVirtualGuests() 
    result.each do |pre_obj| 
    puts pre_obj.inspect 
    end 

Scheint wie tagReferences gebrochen wurde, da dieser vor kurzem arbeitet seit eine lange Zeit.

Antwort

0

Ich habe Ihren ersten Codeblock überprüft und es funktioniert OK. Das Problem, mit dem Sie konfrontiert werden, ist jedoch möglicherweise auf die Anzahl der Objekte zurückzuführen, die die Methode zurückgibt, entweder virtuelle Gäste oder Tag-Objekte.

OFFSET = 0 
LIMIT = 5 
USERNAME = 'set me' 
API_KEY = 'set me' 
softlayer_client = SoftLayer::Client.new(username: USERNAME, api_key: API_KEY) 
obj_svc = softlayer_client['Account'] 
obj_svc = obj_svc.object_mask('mask[ id,tagReferences ]') 
obj_svc = obj_svc.result_limit(OFFSET, LIMIT) 
result = obj_svc.getVirtualGuests() 
result.each do |pre_obj| 
    puts pre_obj.inspect 
end 

Wenn es Ihr Problem nicht lösen, versuchen Sie die neueste Strato Rubin Client gem Download (zB 3.2.1)

: Dies kann mit einem result_limit (OFFSET, LIMIT), wie im nächsten Beispiel vermieden werden,

Sie könnten den nächsten Link als auch eine Bewertung

https://sldn.softlayer.com/blog/phil/How-Solve-Error-fetching-http-headers

+0

der Tat zu viele Daten dort zurückkommen war. Vielleicht haben wir mehr Maschinen hinzugefügt und es gekippt oder tagReferences gibt jetzt viel mehr Daten zurück als früher. Wie auch immer, ich beschränkte beides, was von tagReferences zurückkommt und nutzte das result_limit, um Chargen von 50 auszuwählen. Alles gut jetzt, danke! – TheBK

Verwandte Themen