इंटरफ़ेस दोष सहिष्णुता के लिए पुनः प्रयास करें।
कॉलबैक फ़ंक्शन का रिटर्न वैल्यू जब यह निष्पादित किया जाता है। सभी प्रकार सिस्टिम द्वारा समर्थित हैं सिवायतार्किक झूठा मानऔरशून्य मान.
_C(pfn) _C ((pfn,...args)
पैरामीटरpfn
एक फ़ंक्शन संदर्भ है, जो एक हैकॉलबैक फ़ंक्शन.
पीएफएन
सच
कार्य
पैरामीटरकॉलबैक फ़ंक्शन, एक से अधिक पैरामीटर हो सकते हैंarg
. मापदंडों का प्रकार और संख्याarg
पर निर्भर करता हैकॉलबैक फ़ंक्शन.
आर्ग
झूठी
string, number, bool, object, array, function, सभी प्रकार सिस्टम द्वारा समर्थित हैं, जैसे शून्य मान
function main(){
var ticker = _C(exchange.GetTicker)
// Adjust _C() function retry interval to 2 seconds
_CDelay(2000)
var depth = _C(exchange.GetDepth)
Log(ticker)
Log(depth)
}
def main():
ticker = _C(exchange.GetTicker)
_CDelay(2000)
depth = _C(exchange.GetDepth)
Log(ticker)
Log(depth)
void main() {
auto ticker = _C(exchange.GetTicker);
_CDelay(2000);
auto depth = _C(exchange.GetDepth);
Log(ticker);
Log(depth);
}
पैरामीटर के बिना त्रुटि-सहिष्णुता कार्यों के लिएः
function main(){
var records = _C(exchange.GetRecords, PERIOD_D1)
Log(records)
}
def main():
records = _C(exchange.GetRecords, PERIOD_D1)
Log(records)
void main() {
auto records = _C(exchange.GetRecords, PERIOD_D1);
Log(records);
}
परिमाणों के साथ कार्यों के लिए जो त्रुटि सहिष्णु हैंः
var test = function(a, b){
var time = new Date().getTime() / 1000
if(time % b == 3){
Log("Eligible!", "#FF0000")
return true
}
Log("Retry!", "#FF0000")
return false
}
function main(){
var ret = _C(test, 1, 5)
Log(ret)
}
import time
def test(a, b):
ts = time.time()
if ts % b == 3:
Log("Eligible!", "#FF0000")
return True
Log("Retry!", "#FF0000")
return False
def main():
ret = _C(test, 1, 5)
Log(ret)
// C++ does not support fault tolerance for custom functions in this way
यह कस्टम कार्यों के दोष सहिष्णुता के लिए भी इस्तेमाल किया जा सकता हैः
.._C()
function निर्दिष्ट फ़ंक्शन को तब तक कॉल करता रहेगा जब तक कि यह सफलतापूर्वक वापस न आ जाए (पैरामीटर द्वारा संदर्भित फ़ंक्शनpfn
रिटर्नशून्ययाझूठीजब बुलाया जाता है तो फिर से कॉल करने का प्रयास करेगाpfn
) उदाहरण के लिए_C(exchange.GetTicker)
. डिफ़ॉल्ट पुनः प्रयास अंतराल 3 सेकंड है, आप कॉल कर सकते हैं_CDelay()
पुनः प्रयास अंतराल सेट करने के लिए समारोह. उदाहरण के लिए,_CDelay(1000)
के पुनः प्रयास के अंतराल को बदलने का साधन है_C()
1 सेकंड के लिए कार्य।
दोष सहिष्णुता निम्नलिखित कार्यों के लिए की जा सकती है, लेकिन यह सीमित नहीं है:
exchange.GetTicker()
exchange.GetDepth()
exchange.GetTrades()
exchange.GetRecords()
exchange.GetAccount()
exchange.GetOrders()
exchange.GetOrder()
exchange.GetPositions()
सभी को बुलाया जा सकता है_C()
दोष सहिष्णुता के लिए कार्य।_C()
समारोह उपरोक्त सूचीबद्ध समारोह दोष सहिष्णुता तक सीमित नहीं है, पैरामीटरpfn
एक फ़ंक्शन कॉल के बजाय एक फ़ंक्शन संदर्भ है.
ध्यान दें कि यह है_C(exchange.GetTicker)
, नहीं_C(exchange.GetTicker())
.