প্রকল্প সম্পর্কে

Dotflow হলো এক্সিকিউশন পাইপলাইন তৈরির জন্য হাল্কা পাইথন লাইব্রেরি। ব্যবহারকারীরা @action ডেকোরেটরের মাধ্যমে টাস্ক সংজ্ঞায়িত করেন, DotFlow.task.add() দিয়ে তাদের চেইন করেন, এবং start() কল করে ওয়ার্কফ্লো চালান। এটি রিট্রি, টাইমআউট, এক্সপোনেনশিয়াল ব্যাকঅফ এবং ফেল্ড ওয়ার্কফ্লোর জন্য চেকপয়েন্ট-এলোমিত রিসুইজের মতো ইন-বিল্ড রেজিলিয়েন্স ফিচারসহ প্রদান করে। এটি চারটি আউট-ফ্রম-দ-বক্স এক্সিকিউশন মোড সাপোর্ট করে: সিকুয়েন্টিয়াল (ডিফল্ট), ব্যাকগ্রাউন্ড (নন-ব্লকিং থ্রেড), প্যারালেল (সব টাস্ক একসাথে রান), এবং প্যারালেল গ্রুপস (গ্রুপগুলো প্যারালেলে রান করে যেখানে গ্রুপের ভেতরের টাস্ক সিকুয়েন্টিয়ালভাবে রান করে। লাইব্রেরি অ্যান্ড-বিল্ড অবজারভ্যালিটি ইন্টিগ্রেশনসহ OpenTelemetry (ট্রেস, মেট্রিক্স, স্ট্রাকচারড লগ्स) এবং Sentry (एरর ট্র্যাকিং, পারফরম্যান্স মোনিটরিং)-এর সাথে সংযুক্ত। এতে স্টোরেজ (ইন-মেমোরি ডিফল্ট, ফাইল সিস্টেম, AWS S3, Google Cloud Storage), নোটিফিকেশন (টেলিগ্রাম, ডিসকোর্ড), শেডুলিং (ক্রোন সাথে অভ্যাক্স স্ট্র্যাটেজি যেমন skip, queue, parallel) এবং রিমোট সার্ভার রিপোর্টিং-এর জন্য প্লাগেবল প্রোভাইডার সিস্টেম রয়েছে। এটি एसিংক্রোনাস টাস্ক ফাংশন, ক্লাস-বেসড স্টেপ ডিফিনিশন, টাস্ক এবং ওয়ার্কফ্লো ক্যালব্যাক, এবং কনফিগারেবল এরর হ্যান্ডলিং (প্রথম ফেলার ওপর রিটার্ন বা শেষ টাস্কগুলোও চালু করা) সাপোর্ট করে। Dotflow একটি CLI প্রদান করে যা বারোবার কোড লিখে ছাড়াও ওয়ার্কফ্লো চালাতে, শেডুলিং এবং ম্যানেজমেন্টের জন্য, এবং 34+ ক্লাউড প্ল্যাটফর্মে (AWS Lambda, AWS ECS Fargate, Google Cloud Run, Alibaba Cloud Function Compute, Kubernetes, Docker, GitHub Actions) এক-কমান্ড ডিপ্লয়মেন্ট সাপোর্ট করে। ব্যবহারকারীরা কাস্টম প্রোভাইডর স্থাপন করার মাধ্যমে এর কার্যক্ষমতা বিস্তার করতে পারেন, যা স্টোরেজ, লগিং, ট্রেসিং, মেট্রিক্স এবং অন্যান্য ক্ষমতার জন্য অ্যাবস্ট্র্যাক বেস ক্লাসের মাধ্যমে সম্ভব।