আমি ইনোটিফাই ইভেন্টগুলি (যেমনটি ঘটে, পাইথন থেকে, লাইবিকে কল করে) পরিবর্তনের জন্য ফাইলগুলি দেখছি।
একটি চলাকালীন কিছু ফাইলের জন্য git clone
, আমি কিছু অদ্ভুত দেখি: আমি একটি IN_CREATE
ইভেন্ট দেখি এবং ls
এই ফাইলের মধ্যে সামগ্রী রয়েছে তবে আমি কখনও দেখি না IN_MODIFY
বা করি IN_CLOSE_WRITE
। আমি IN_CLOSE_WRITE
ফাইলগুলিতে প্রতিক্রিয়া জানাতে চাইছি কারণ এটি আমার সমস্যা সৃষ্টি করছে : বিশেষত ফাইল সামগ্রীগুলির একটি আপলোড শুরু করার জন্য।
অদ্ভুতভাবে আচরণ করা ফাইলগুলি .git/objects/pack
ডিরেক্টরিতে থাকে এবং সেগুলি শেষ হয় .pack
বা .idx
। গিট তৈরি করা অন্যান্য ফাইলগুলির আরও নিয়মিত IN_CREATE
-> IN_MODIFY
-> IN_CLOSE_WRITE
চেইন থাকে (আমি IN_OPEN
ইভেন্টগুলির জন্য দেখছি না )।
এটি ম্যাকোসে ডকারের অভ্যন্তরে রয়েছে তবে আমি লিনাক্সের ডকরে একই সিস্টেমের রিমোট প্রমাণ পেয়েছি, সুতরাং আমার সন্দেহ ম্যাকোস দিকটি প্রাসঙ্গিক নয়। যদি পর্যবেক্ষক এবং আমি এই দেখছি git clone
রয়েছে একই Docker ধারক।
আমার প্রশ্নগুলো:
এই ফাইলগুলিতে এই ইভেন্টগুলি কেন অনুপস্থিত?
এটি সম্পর্কে কি করা যেতে পারে? বিশেষত, আমি এই ফাইলগুলিতে লেখার সমাপ্তিতে কীভাবে প্রতিক্রিয়া জানাতে পারি? দ্রষ্টব্য: আমি লেখার অযথা / (ভুলভাবে) "অসম্পূর্ণ" লেখা আপলোড করা এড়াতে "সমাপ্ত" হওয়ার সময় প্রতিক্রিয়া জানাতে চাই।
সম্পাদনা করুন: https://developer.ibm.com/tutorials/l-inotify/ পড়া দেখে মনে হচ্ছে যা আমি দেখছি তার সাথে সামঞ্জস্যপূর্ণ
- নামের মতো একটি পৃথক অস্থায়ী ফাইল
tmp_pack_hBV4Alz
তৈরি করা, সংশোধিত এবং, বন্ধ করা; - চূড়ান্ত নাম সহ এই ফাইলটিতে একটি হার্ড লিঙ্ক তৈরি করা হয়েছে
.pack
; - আসল
tmp_pack_hBV4Alz
নামটি মুছে ফেলা হয়েছে।
আমি মনে করি যে আমার সমস্যা, যা ফাইলগুলি আপলোড করার জন্য ট্রিগার হিসাবে ইনোটিফাই ব্যবহার করার চেষ্টা করছে, তারপরে .pack
ফাইলটি অন্য কোনও ফাইলে একটি হার্ড লিঙ্ক, এবং এই ক্ষেত্রে আপলোড হচ্ছে তা লক্ষণীয়তা হ্রাস পাবে ?