portfolio.rottigni.tech

FRONT-END

  • Nuxt@4

  • TailwindCSS@4

  • Typescript

BACK-END

  • SQLite3

  • Prisma

  • Nitro

सीडिंग सिस्टम

हर दिन आधी रात को, मेरे पोर्टफोलियो का SQLite डेटाबेस VPS पर एक समर्पित Docker सर्विस द्वारा अपने आप अपडेट होता है।

यह सर्विस Node.js cron जॉब चलाती है जो Vimeo, GitHub, GitLab APIs, Puppeteer scraping और स्थिर स्रोतों से डेटा तैयार और अपडेट करती है जो स्थित हैं https://storage.rottigni.tech/.

अपडेट्स SQLite डेटाबेस पर लागू किए जाते हैं@prisma/clientऔर ये VPS फाइल सिस्टम और Nuxt3 कंटेनर दोनों में प्रतिबिंबित होते हैं, जो Docker volumes के माध्यम से सिंक रहते हैं।

सीडर कंटेनर प्रक्रिया के दौरान logs बनाता है जैसे logs.log, errors.log और debug.log, जो मेरे प्राइवेट स्टोरेज पर भेजे जाते हैं https://s3.rottigni.tech/portfolio.rottigni.tech/seeding/logs/हर रन पर।

कंटेनर हर सीड ऑपरेशन से पहले SQLite3 डेटाबेस का बैकअप भी बनाता है, जो स्टोर होता है https://s3.rottigni.tech/portfolio.rottigni.tech/seeding/backup/,, ताकि डेटा सुरक्षित रहे।

सीडर की एक खास विशेषता यह है कि यह मेरे प्राइवेट स्टोरेज को cached data provider के रूप में उपयोग कर सकता है।

जब यह किसी मूल स्रोत से डेटा मांगता है, तो यह एक नया JSON API response फ़ाइल मेरे स्टोरेज में अपलोड करता है जिसमें UTC timestamp फ़ाइल नाम में होता है

(https://s3.rottigni.tech/portfolio.rottigni.tech/seeding/history/)

जब caching सक्षम होती है, तो सीडर सीधे स्टोरेज से नवीनतम फ़ाइल पढ़ता है बजाय मूल स्रोत को कॉल करने के।

यह सब seed.config.ts फ़ाइल के माध्यम से नियंत्रित होता है जो seeding डायरेक्टरी के root में स्थित है।

यह फ़ाइल तय करती है कि कौन-सी entities और relations seed होंगे, क्या cache होगा और डेटा कहाँ अपलोड होगा।

कुल मिलाकर, यह सिस्टम मेरे पोर्टफोलियो SQLite डेटाबेस को अपने आप अपडेट करता है और caching के माध्यम से डेटा सुरक्षा और बाहरी अनुरोधों में कमी सुनिश्चित करता है।

बग रिपोर्ट करें

कुछ अजीब हुआ?

"ई-मेल" फ़ील्ड आवश्यक है।
"समस्या" फ़ील्ड आवश्यक है।