इस प्रोजेक्ट के बारे में

यह प्रोजेक्ट उन परिदृश्यों के लिए है जिन्हें निरंतर और समय पर पर्यावरण डेटा संग्रह की आवश्यकता होती है, और यह GitHub Actions पर आधारित एक स्वचालित क्रॉलिंग और आर्काइविंग समाधान प्रदान करता है। README बताता है कि इसका विचार HeQinWill/CNEMC से लिया गया है, और शेड्यूलिंग विधि और स्थिरता में सुधार किया गया है। वर्तमान में यह मुख्य रूप से CNEMC रियल-टाइम पर्यावरण निगरानी डेटा अपडेट का समर्थन करता है, और नियोजित कार्यों में 10-मिनट स्तर का Himawari सैटेलाइट शॉर्टवेव रेडिएशन (SWR) डेटा शामिल है। प्रोजेक्ट क्रॉलिंग परिणामों को तिथि के अनुसार CSV के रूप में आर्काइव करता है, जिससे उपयोगकर्ता raw.githubusercontent लिंक के माध्यम से प्रति घंटा डेटा को तेज़ी से लोड कर सकते हैं, या GitHub Contents API के माध्यम से किसी विशेष दिन की फ़ाइल सूची प्राप्त कर सकते हैं। मुख्य उद्देश्यों में से एक GitHub Actions के मूल cron में वास्तविक संचालन के दौरान होने वाली संभावित देरी या ट्रिगर मिस होने की समस्या से बचना है, इसलिए बाहरी समय-आधारित ट्रिगर का उपयोग करने की सिफारिश की जाती है: एक क्लाउड फंक्शन द्वारा समय-समय पर GitHub के आधिकारिक Workflow Dispatch इंटरफ़ेस को कॉल करना, जिससे निर्दिष्ट workflow दूरस्थ रूप से ट्रिगर हो सके। कॉन्फ़िगरेशन के संबंध में, प्रोजेक्ट रिपॉजिटरी में Actions secret सेट करना आवश्यक है: नाम GTOKEN और मान व्यक्तिगत एक्सेस टोकन (Personal Access Token)। Personal Access Token 'classic' प्रकार का होना चाहिए, और इसमें repo और workflow अनुमतियाँ चुनी होनी चाहिए; यदि workflow अनुमति की कमी है, तो API के माध्यम से workflow_dispatch को ट्रिगर नहीं किया जा सकेगा। क्लाउड फंक्शन प्लेटफॉर्म के संबंध में, README बताता है कि Tencent Cloud Function SCF के उपयोग की पुष्टि हो चुकी है, और सैद्धांतिक रूप से कोई भी प्लेटफॉर्म जो HTTP अनुरोध और समय-आधारित ट्रिगर का समर्थन करता है, इस तरह के समाधान को तैनात कर सकता है। परिनियोजन के दौरान, यह सुझाव दिया जाता है कि repo_owner, repo_name, workflow_name जैसे महत्वपूर्ण मापदंडों को सीधे स्ट्रिंग स्थिरांक के रूप में लिखा जाए या हार्डकोड किया जाए, ताकि event/context के माध्यम से पैरामीटर पास करने से होने वाले डेटा लॉस, पर्यावरण चर पार्सिंग विफलता या विसंगतियों से बचा जा सके। उदाहरण कोड GitHub API को POST अनुरोध भेजने के लिए requests का उपयोग करता है, जिसमें payload ref=main है और सफलता स्थिति कोड 204 है।