সমান্তরাল থ্রেডযুক্ত ফ্যাব্রিক কমান্ডের জন্য জেনকিন্স রিয়েলটাইম কনসোল আউটপুট [বন্ধ]


22

আমাদের কাছে পাইথন ফ্যাব্রিক কমান্ড রয়েছে যা বেশ কয়েকটি হোস্টের সমান্তরালভাবে চলে, এরকম কিছু:

$ fab --hosts=prod1.server,prod2.server,prod3.server --parallel copy_cache

এটি সমান্তরালে তালিকাভুক্ত প্রোডাকশন সার্ভারগুলিতে ক্যাশে অনুলিপি করবে। এক্সজিগিগ ক্যাশে ডিরেক্টরিগুলির জন্য কয়েক ঘন্টা সময় নিতে পারে বলে আমরা কতটা দূরে রয়েছি তা নির্দেশ করার জন্য প্রক্রিয়া জুড়ে বিভিন্ন লগিং রয়েছে। যেহেতু অনুলিপিটি একই সাথে ঘটছে, কমান্ড লাইনে চালিত হওয়ার পরে আউটপুটটি রিয়েল-টাইমে আবার ইন্টারলেসড ফিরে আসে:

[prod1.server] Executing task 'nginx_cache_copy'
[prod2.server] Executing task 'nginx_cache_copy'
[prod3.server] Executing task 'nginx_cache_copy'
2014-09-16 10:02:29.688243
[prod1.server] INFO: rsyncing cache dir
[prod1.server] run: rsync -a -q cache.server:"repo/cache/some.site.com" \
                                             "repo/cache/."
2014-09-16 10:02:29.716345
[prod2.server] INFO: rsyncing cache dir
[prod2.server] run: rsync -a -q cache.server:"repo/cache/some.site.com" \
                                             "repo/cache/."
2014-09-16 10:02:29.853275
[prod3.server] INFO: rsyncing cache dir
[prod3.server] run: rsync -a -q cache.server:"repo/cache/some.site.com" \
                                             "repo/cache/."
2014-09-16 10:02:29.984154
[prod1.server] INFO: Reloading nginx config
[prod1.server] run: sbin/nginx -s reload -c "repo/nginx.conf"
2014-09-16 10:02:30.025155
[prod2.server] INFO: Reloading nginx config
[prod2.server] run: sbin/nginx -s reload -c "repo/nginx.conf"
2014-09-16 10:02:30.100169
[prod1.server] SUCCESS: CACHE COPY COMPLETE

2014-09-16 10:02:30.181938
[prod2.server] SUCCESS: CACHE COPY COMPLETE

2014-09-16 10:02:30.331402
[prod3.server] INFO: Reloading nginx config
[prod3.server] run: sbin/nginx -s reload -c "repo/nginx.conf"
2014-09-16 10:02:30.559271
[prod3.server] SUCCESS: CACHE COPY COMPLETE

Done.

যাইহোক, যখন টাস্কটি জেনকিন্সের মাধ্যমে পরিচালিত হয়, সমস্ত টাস্ক সম্পন্ন না হওয়া পর্যন্ত কনসোল আউটপুট প্রদর্শিত হয় না কারণ জেনকিনস সমস্ত থ্রেড সম্পূর্ণ হওয়ার পরে থ্রেডগুলিতে যোগ হওয়ার পরে আউটপুটকে গোষ্ঠীভুক্ত করে। সুতরাং, একবার সমস্ত কমান্ড সম্পূর্ণ হয়ে গেলে আউটপুটটি দেখতে এই রকম হয়:

[prod1.server] Executing task 'nginx_cache_copy'
2014-09-16 10:02:29.688243
[prod1.server] INFO: rsyncing cache dir
[prod1.server] run: rsync -a -q cache.server:"repo/cache/some.site.com" \
                                             "repo/cache/."
2014-09-16 10:02:29.984154
[prod1.server] INFO: Reloading nginx config
[prod1.server] run: sbin/nginx -s reload -c "repo/nginx.conf"
2014-09-16 10:02:30.100169
[prod1.server] SUCCESS: CACHE COPY COMPLETE

[prod2.server] Executing task 'nginx_cache_copy'
2014-09-16 10:02:29.716345
[prod2.server] INFO: rsyncing cache dir
[prod2.server] run: rsync -a -q cache.server:"repo/cache/some.site.com" \
                                             "repo/cache/."
2014-09-16 10:02:30.025155
[prod2.server] INFO: Reloading nginx config
[prod2.server] run: sbin/nginx -s reload -c "repo/nginx.conf"
2014-09-16 10:02:30.181938
[prod2.server] SUCCESS: CACHE COPY COMPLETE

[prod3.server] Executing task 'nginx_cache_copy'
2014-09-16 10:02:29.853275
[prod3.server] INFO: rsyncing cache dir
[prod3.server] run: rsync -a -q cache.server:"repo/cache/some.site.com" \
                                             "repo/cache/."
2014-09-16 10:02:30.331402
[prod3.server] INFO: Reloading nginx config
[prod3.server] run: sbin/nginx -s reload -c "repo/nginx.conf"
2014-09-16 10:02:30.559271
[prod3.server] SUCCESS: CACHE COPY COMPLETE

Done.

এটি আরও পাঠযোগ্য, যদিও এটি আদর্শ নয় কারণ আমরা রিয়েলটাইমে কনসোল আউটপুট পড়ে প্রক্রিয়াটির অবস্থার উপর নজর রাখতে চাই। উল্লেখ্য, এই ফ্যাব্রিক কমান্ড চালানো হয় ছাড়া--parallel বিকল্প কনসোল আউটপুট রিয়েলটাইমে ঘটবে না , তবে সম্ভবত এই না কার্যকর কারণ সিরিয়াল প্রক্রিয়া চালানোর জন্য অনেক লম্বা নেয়।

আমি জেনকিন্সে এমন কোনও সেটিংস খুঁজে পাইনি যা এই থ্রেড গ্রুপিংটিকে অক্ষম করবে। কারো কি কোন ধারনা আছে?


4
এর জন্য কখনই একটি সম্পূর্ণ সমাধান খুঁজে পাওয়া যায় নি, তবে PYTHONUNBUFFERED=1 && fab ...প্রতিটি সার্ভারটি সম্পূর্ণ হওয়ার জন্য অপেক্ষা না করে সম্পূর্ণ হওয়ার সাথে সাথে এটি চালিয়ে যাওয়া কিছুটা সহায়তা করে। তবুও সম্পূর্ণ রিয়েলটাইম সমাধান খুঁজতে চাই।
এমভিসিএইচআর

3
আমি এই প্রশ্নটিকে অফ-টপিক হিসাবে বন্ধ করতে ভোট দিচ্ছি কারণ এটি সার্ভার ফল্টের পক্ষে আরও ফিট বলে মনে হচ্ছে
তামারা উইজসম্যান

1
আপনি কি "stdbuf -oL" দিয়ে ইউনিক্স কমান্ডগুলির পূর্ববর্তী চেষ্টা করেছেন?
স্ট্রোবলাইট

মিঃ VarCharচারকোল ব্ল্যাক ব্রয়ল - সুপারসুর ডটকম এই প্রশ্নের উত্তর সরবরাহ করতে আপনি কতটা সন্তুষ্ট? আপনি এখনও অতিরিক্ত মনোযোগ প্রয়োজন? সম্ভবত আমরা আরও আপনার জন্য অন্বেষণ করতে পারেন আরও বিকল্প আছে। আপনি শিরোনামটিকে আরও আকর্ষণীয় করে কিছু আকর্ষণ করার জন্য বিবেচনা করতে পারেন যেমন উদাহরণস্বরূপ একটি দ্রুত চিন্তা কৌশল হিসাবে আপনি প্রয়োগ করতে পারেন; চেষ্টা করে ক্ষতি কি।
পিম্প জুস আইটি

4
আমি এই প্রশ্নটিকে অফ-টপিক হিসাবে বন্ধ করতে ভোট দিচ্ছি কারণ এটির এখানে সন্তোষজনক উত্তর পাওয়া যায় নি এবং সার্ভারফল্টে আরও / আরও ভাল মনোযোগ পেতে পারে।
music2myear
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.