मुख्य सामग्री पर जाएँ
LICENTIVO / INTEGRATION

मासिक उपयोग काउंटर से सॉफ़्टवेयर निर्यात सीमित करें

हर UTC महीने 500 निर्यात की सीमा रखें। SDK प्रत्येक कार्य के लिए उपयोग आरक्षित करता है, कार्य चलाता है और हिसाब पूरा करता है। कार्य ID स्थिर रखें ताकि पुनः प्रयास में दोबारा कटौती या दोहरा निष्पादन न हो।

फ़ीचर कार्यप्रवाह · सभी नौ SDKअपडेट

1. फ़ीचर काउंटर सेट करें

नीति में export फ़ीचर सक्षम करके उसकी सीमा प्रति माह 500 रखें। तय करें कि सीमा पूरी होने पर काम रोका जाए या फ़ीचर के निर्धारित अतिरिक्त-उपयोग नियम के अनुसार अनुमति मिले।

फ़ीचर काउंटर ग्राहक के लाइसेंस का होता है। यह विक्रेता कार्यक्षेत्र के डिवाइस और API सब्सक्रिप्शन कोटे से अलग है। दैनिक और मासिक फ़ीचर अवधि UTC में चलती हैं; मासिक काउंटर अगले UTC कैलेंडर महीने के आरंभ में रीसेट होता है।

2. एक SDK क्लाइंट खोलें

कंसोल > उत्पाद से उत्पाद ID कॉपी करें। उसी उत्पाद की हस्ताक्षर सार्वजनिक कुंजियाँ खोलें और हर कुंजी ID/सार्वजनिक कुंजी जोड़ी को आरंभिक कोड में डालें; YOUR_PRODUCT_ID, YOUR_KEY_ID और YOUR_PUBLIC_KEY बदलें। त्वरित एकीकरण यह कोड भी बना सकता है। उत्पाद कॉन्फ़िगरेशन फ़ाइल नहीं चाहिए; SDK डिफ़ॉल्ट रूप से https://www.licentivo.com से जुड़ता है।

सामान्य अधिकार के लिए RunFeature इस्तेमाल करें। सीमित उपयोग वाले ऑपरेशन के लिए RunMeteredFeature इस्तेमाल करें। स्थानीय अधिकार जाँच सफल होने से यह साबित नहीं होता कि ऑनलाइन कोटा बचा है।

3. व्यावसायिक ऑपरेशन को लपेटें

SDK बुलाने से पहले विशिष्ट job ID स्थायी रूप से सहेजें। उसी कार्य के पुनः प्रयास में वही ID दें। SDK पहले एक उपयोग आरक्षित करता है, फिर कॉलबैक चलाता है और सफलता की पुष्टि करता है या ज्ञात व्यावसायिक विफलता पर आरक्षण रद्द करता है।

Go · inside a function returning error
// client was opened once at application startup.
// jobID comes from your durable business task record.
jobID := os.Getenv("LICENTIVO_OPERATION_ID")
if jobID == "" {
    return fmt.Errorf("persist a unique task ID before exporting")
}
err := client.RunMeteredFeature(ctx, "export", 1, jobID, func() error {
    // Return success only after the output has been saved.
    return os.WriteFile("licensed-report.txt", []byte("Metered export\n"), 0600)
})
if err != nil {
    return err
}

4. बाधित कार्य की स्थिति बहाल करें

पहले से सफल दर्ज कार्य की ID दोहराने पर SDK कॉलबैक फिर चलाए बिना लंबित हिसाब पूरा करता है। यदि कॉलबैक के दौरान प्रक्रिया बंद हुई, SDK नहीं जान सकता कि बाहरी ऑपरेशन पूरा हुआ था या नहीं।

सहेजा गया वास्तविक परिणाम जाँचें। पुष्टि की गई सफलता पर ResolveMeteredFeature(ctx, jobID, true), और पुष्टि की गई विफलता पर false दें। यह केवल हिसाब सुलझाता है। भुगतान, फ़ाइल डिलीवरी या किसी अपरिवर्तनीय काम को बिना जाँच दोहराएँ नहीं।

आरक्षण सामान्यतः 15 मिनट का होता है और UTC अवधि के रीसेट से भी सीमित होता है। समाप्ति से पहले काम और हिसाब पूरा करें। आरक्षण से अधिक चल सकने वाले काम के लिए साधारण रैपर इस्तेमाल न करें। रद्द काम को ग्राहक नया प्रयास मानकर फिर शुरू करे तो नई ID दें।

5. काउंटर का व्यवहार जाँचें

  1. कम परीक्षण सीमा से शुरू करें। सफल निर्यात पर उपयोग एक बढ़ना चाहिए।
  2. काम पूरा होने से पहले कॉलबैक से त्रुटि लौटाएँ; आरक्षण रद्द होना चाहिए।
  3. सफल दर्ज job ID दोहराएँ और पुष्टि करें कि कॉलबैक फिर नहीं चलता।
  4. रोकने वाले कोटे को पूरा करें और पुष्टि करें कि कॉलबैक नहीं चलता। अगले रीसेट समय सहित स्पष्ट संदेश दिखाएँ।
  5. परीक्षण वातावरण में बाधित कार्य बनाएँ और स्थायी व्यावसायिक रिकॉर्ड देखकर उसकी स्थिति सुलझाएँ।

सामान्य गलतियाँ

काउंटर ऑपरेशन के लिए नेटवर्क चाहिए। केवल ऑफ़लाइन कैश लाइसेंस से ऑफ़लाइन reserve या commit की अनुमति नहीं मिलती। अस्वीकृत गणना ऑपरेशन को चुपचाप बिना गणना वाले ऑपरेशन में न बदलें।

सीधी Consume कॉल तुरंत उपयोग काटती है। व्यावसायिक सफलता के बाद ही उपयोग गिनना हो तो गणना कॉलबैक लें। काम पूरा होने के बाद नेटवर्क विफलता हिसाब बहाली की समस्या है; इसे काम की विफलता न मानें।

स्थिर task ID और SDK जर्नल पुनः प्रयास में सहायक हैं, लेकिन आपके व्यावसायिक ट्रांज़ैक्शन या स्थायी परिणाम भंडारण की जगह नहीं लेते। बहाली के दौरान वास्तविक परिणाम और SDK का निजी कैश दोनों उपलब्ध रखें।