টর্নেডো কখন ব্যবহার করবেন, কখন ট্যুইস্টেড / সাইক্লোন / জিভেন্ট / অন্যান্য ব্যবহার করবেন [বন্ধ]


181

আধুনিক মাল্টিউজার ওয়েব অ্যাপ্লিকেশন তৈরির জন্য এই ফ্রেমওয়ার্ক / লাইব্রেরিগুলির মধ্যে কোনটি সেরা চয়েস হতে পারে? আমি একটি অ্যাসিনক্রোনাস ওয়েবসার্ভার পেতে চাই যা আমাকে সহজেই স্কেল করতে দেয়। কোন সমাধানটি সর্বোত্তম পারফরম্যান্স / স্কেলাবিলিটি / সবচেয়ে দরকারী কাঠামো দেবে (ব্যবহারের সহজ এবং বিকাশের সহজ শর্তে)?

এটি দুর্দান্ত কার্যকারিতা (ওয়েবসকেটস, আরপিসি, স্ট্রিমিং ইত্যাদি) সরবরাহ করবে তবে দুর্দান্ত হবে ।

প্রতিটি সমাধানের পক্ষে কি কি?


এর কি এই ফ্রেমওয়ার্কগুলির একটি হওয়া দরকার? আপনার কী করার পরিকল্পনা রয়েছে এবং জ্যাঙ্গো, পাইলন্স ইত্যাদির মতো কিছু কাজ করতে পারে?
জো দোহার্টি

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

3
একটি বিস্তৃত প্রশ্নের সাজান, তাই না?
জিন-পল ক্যালডেরন

আপনার পছন্দটি লাইব্রেরিতে নির্ভর করে যা আপনি ব্যবহার করতে চান। আপনার গ্রন্থাগারগুলি - টাস্কে, যা আপনি সমাধান করতে চান।
নিকোলে ফমিনিহ

1
হ্যাঁ এটি বিস্তৃত, তবে মায়াবস জলচর। আমি ভাবছি যদি এই লাইব্রেরিগুলি উত্পাদনে ব্যবহৃত হয় এবং কারও কারও, যিনি প্রতিদিনের কিছু ব্যবহার করছেন তারা কী কী জন্য দুর্দান্ত তা কী বলতে পারেন তার কি কি অভাব আছে ইত্যাদি গ্রন্থাগার চয়ন করার জন্য বেসলাইনটি কী হতে পারে - সম্ভবত বাঁকানো উচিত অটোবাহান বা ঘূর্ণিঝড় সম্পর্কে কথা বলার সময় সম্মানজনক অবচয়? অথবা এমএমএবে অটোবাহান এবং সাইক্লোন তৈরির জন্য প্রস্তুত নয় এবং এর রক্ষণাবেক্ষণ প্রশ্নবিদ্ধ? অথবা হতে পারে টর্নেডোর আরও আধুনিক নকশা রয়েছে এবং এটি ভবিষ্যতে সম্ভবত উজ্জ্বল এবং দুর্দান্ত হবে এবং এটি স্টার্টআপ প্রকল্পের জন্য পছন্দসই হওয়া উচিত?
Wojciech ড্যানিলো

উত্তর:


226

" জ্যাঙ্গো একটি উচ্চ পর্যায়ের পাইথন ওয়েব ফ্রেমওয়ার্ক যে দ্রুত উন্নয়ন এবং পরিষ্কার, রাষ্ট্রীয় নকশা উৎসাহিত হয়" । যদি আপনি এমন কোনও কিছু তৈরি করে যা ই-কমার্স সাইটের অনুরূপ, তবে আপনার সম্ভবত জ্যাঙ্গোর সাথে যাওয়া উচিত। এটি আপনার কাজটি দ্রুত সম্পন্ন করবে। আপনাকে অনেকগুলি প্রযুক্তিগত পছন্দ সম্পর্কে চিন্তা করতে হবে না। এটি টেমপ্লেট ইঞ্জিন থেকে ওআরএম পর্যন্ত আপনার প্রয়োজনীয় সমস্ত কিছু সরবরাহ করে। আপনি আপনার অ্যাপটি কীভাবে গঠন করেন সে সম্পর্কে কিছুটা মতামত নেওয়া হবে, আপনি যদি আমাকে জিজ্ঞাসা করেন তবে ভাল। এবং এটিতে অন্যান্য সমস্ত গ্রন্থাগারগুলির মধ্যে সবচেয়ে শক্তিশালী সম্প্রদায় রয়েছে যার অর্থ সহজ সহায়তা পাওয়া যায়।

" ফ্লাস্ক হলেন ওয়ার্কজেগ, জিনজা 2 এবং ভাল উদ্দেশ্যগুলির ভিত্তিতে পাইথনের একটি মাইক্রোফ্রেমওয়ার্ক" । সাবধান - "মাইক্রোফ্রেমওয়ার্ক" বিভ্রান্তিকর হতে পারে। এর অর্থ এই নয় যে ফ্লাস্ক একটি অর্ধ-বেকড লাইব্রেরি। এর অর্থ ফ্লাস্কের মূলটি খুব খুব সহজ। জ্যাঙ্গোর মতো নয়, এটি আপনার জন্য কোনও প্রযুক্তিগত সিদ্ধান্ত নেবে না। আপনি খুশি যে কোনও টেম্পলেট ইঞ্জিন বা ওআরএম চয়ন করতে পারেন। যদিও এটি ডিফল্টভাবে জিনজা টেম্পলেট ইঞ্জিনের সাথে আসে, আপনি আমাদের নিজস্ব চয়ন করতে সর্বদা মুক্ত হন। আমি যতদূর জানি ফ্লাস্ক এপিআই এন্ডপয়েন্টস (আরএসএসএফুল সার্ভিসেস) লেখার কাজে আসে।

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

" টর্নেডো একটি পাইথন ওয়েব কাঠামো এবং অ্যাসিনক্রোনাস নেটওয়ার্কিং লাইব্রেরি, যা মূলত ফ্রেন্ডফিডে তৈরি হয়েছিল non যার জন্য প্রতিটি ব্যবহারকারীর সাথে দীর্ঘকালীন সংযোগ প্রয়োজন "। টর্নেডো জ্যাঙ্গো এবং ফ্লাস্কের মাঝখানে কিছুটা দাঁড়িয়ে আছে। আপনি যদি জ্যাঙ্গো বা ফ্লাস্কের সাথে কিছু লিখতে চান তবে আপনার আরও ভাল পারফরম্যান্সের প্রয়োজন হলে আপনি টর্নেডো বেছে নিতে পারেন। এটি ডানদিকে আর্কিটেক্ট করা থাকলে এটি সি 10 কে সমস্যাটি খুব ভালভাবে পরিচালনা করতে পারে।

" ঘূর্ণিঝড় পাইথনের একটি ওয়েব সার্ভার ফ্রেমওয়ার্ক যা টর্নেডো এপিআইকে একটি বাঁকানো প্রোটোকল হিসাবে প্রয়োগ করে" । এখন, আপনি যদি এমন কোনও কিছু চান যা টুইটারের মতো প্রায় পারফরম্যান্ট তবে প্রচলিত ওয়েব অ্যাপস লিখতে সহজ? ঘূর্ণিঝড়কে হ্যালো বলুন। আমি ঘূর্ণিঝড়কে টর্নেডোর চেয়ে পছন্দ করব। এটির একটি এপিআই রয়েছে যা টর্নেডোর মতোই। প্রকৃতপক্ষে, এটি টর্নেডোর একটি কাঁটাচামচ। তবে সমস্যাটি এটির তুলনায় ছোট্ট সম্প্রদায়। আলেকজান্দ্রে ফিওরিই রেপোর একমাত্র প্রধান প্রতিশ্রুতিবদ্ধ।

" পিরামিড একটি সাধারণ, ওপেন সোর্স, পাইথন ওয়েব অ্যাপ্লিকেশন ডেভলপমেন্ট ফ্রেমওয়ার্ক Its এটির প্রাথমিক লক্ষ্যটি পাইথন বিকাশকারীকে ওয়েব অ্যাপ্লিকেশন তৈরি করা আরও সহজ করে তোলা।" আমি সত্যিই পিরামিড ব্যবহার করি নি, তবে আমি ডকুমেন্টেশনটি দিয়েছি। আমি যা বুঝতে থেকে, পিরামিড খুব অনুরূপ বোতল এবং আমার মনে হয় পিরামিড যেখানেই থাকুন না কেন ব্যবহার করতে পারেন বোতল উপযুক্ত বলে মনে হয় এবং ভাইস বিপরীতভাবে।

সম্পাদনা : অন্য কোনও ফ্রেমওয়ার্ক পর্যালোচনা করার অনুরোধ স্বাগত জানানো হয়!

সূত্র: http://dilipsiva.com/2013/05/19/python-libraries-django-twisted-tornado-flask-cyclone- and-pyramid.html


1
জ্যাঙ্গো আমার পছন্দের কাঠামো। এটির ডকুমেন্টেশন খুব ভাল এবং ওআরএম সহজ। ডেটাবেস স্কিমা মাইগ্রেশনগুলির জন্য দক্ষিণ দুর্দান্ত ... তবে প্রশ্নটিতে এটি রয়েছে: "আমি একটি অ্যাসিনক্রোনাস ওয়েবসার্ভার রাখতে পছন্দ করব যা আমাকে সহজেই স্কেল করতে দেয়" " জাজানো ক্লাসিক অনুরোধ + প্রতিক্রিয়া সাইটের জন্য তৈরি হয়েছিল, অ্যাসিঙ্কের জন্য নয়।
guettli

1
আপনি পিরামিড সম্পর্কে লিখতে পারেন?
ফিজার খান

5
@ ফিজার খান: আপনার অনুরোধ অনুসারে আমি উত্তরটি আপডেট করেছি। দুঃখিত এটি এত দীর্ঘ সময় নিয়েছে। পিরামিড ব্যবহার করার সময় নেই। তবে আমি ডকুমেন্টেশন দিয়েছিলাম।
ipsিলিপসিভা

1
আমি যুক্ত করব যে টর্নেডো যে একক থ্রেডযুক্ত পরিবেশটি ব্যবহার করে তা অনেক বেশি বাগ-প্রবণ - এমন একটি ভুল যা একক এপিআই এর শেষ পয়েন্টের জন্য কোডটিকে ধীর করে দেয় সমস্ত প্রান্তের জন্য সমস্যাগুলি সহজেই তৈরি করতে পারে।
আবেল মোলিনা

1
আপনি চেরিপ্পি সম্পর্কে একটি মন্তব্য করতে পারেন?
স্ট্যাভ্রোস অভ্রমিডিস

60

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

"শেষ ঘন্টা"

ট্যুইস্টেড অবিচ্ছিন্নভাবে গতি . twistedmatrix.com ওয়েবসাইটে আমাদের কর্মক্ষমতা নিরীক্ষণ করে । পাইপাই'র অনুরূপ সাইটটি আমরা পর্যবেক্ষণ করা প্রথম প্রকল্পগুলির মধ্যে একটি , যার ফলে রানটাইমে টুইস্টের ভাল পারফরম্যান্সের আশ্বাস দিয়েছিলাম যে পাইথনের উচ্চ-পারফরম্যান্স অ্যাপ্লিকেশনগুলির সাথে যে কেউ সংশ্লিষ্ট concerned

"স্কেলেবিলিটি"

আমার জানা মতে, তালিকাবদ্ধ ফ্রেমওয়ার্কগুলির কোনওটিরই স্বয়ংক্রিয় স্কেলিংয়ের জন্য অন্তর্নির্মিত সমর্থন নেই; এগুলি সমস্ত যোগাযোগের ফ্রেমওয়ার্ক, তাই আপনার স্কেলিং নোডগুলির মধ্যে যোগাযোগের জন্য আপনাকে কাজটি করতে হবে। তবে স্থানীয় মাল্টি-প্রসেসিংয়ের জন্য অন্তর্নির্মিত সমর্থনটিতে টুইস্টের একটি সুবিধা রয়েছে । ন্যায়সঙ্গতভাবে, টর্নেডোর জন্য একটি তৃতীয় পক্ষের অ্যাড-অন রয়েছে যা আপনাকে একই জিনিসটি করতে দেয়। সাম্প্রতিক প্রকাশগুলিতে, টুইস্টেড এমন বৈশিষ্ট্য যুক্ত করেছে যা কোরের মধ্যে আপনি যেভাবে কাজগুলি ভাগ করে নিতে পারেন তার সংখ্যা বাড়িয়ে তোলে এবং সেই ক্ষেত্রে কাজ চলছে। টুইস্টে বেশ কয়েকটি সুসংহত , "নেটিভ" আরপিসি প্রোটোকল রয়েছে যা আপনি অনুসরণ করতে চান এমন স্কেলিং আইডিয়ামের জন্য একটি নির্মাণ-কিট সরবরাহ করে।

"সবচেয়ে দরকারী"

প্রচুর লোকেরা ট্যুইস্টেডকে খুব দরকারী বলে মনে হচ্ছে । এত বেশি যে তাদের মধ্যে অনেকে এটিকে প্রসারিত করেছে এবং তাদের এক্সটেনশানগুলি আপনার কাছে উপলভ্য করেছে।

"কার্যকারিতার"

বাক্সের বাইরে, ট্যুইস্টেড অন্তর্ভুক্ত:

এই শেষ বিভাগে, কমপক্ষে, বাঁকানো অন্তর্নির্মিত কার্যকারিতার জন্য একটি পরিষ্কার বিজয়ী বলে মনে হয়। এবং এই সব, একটি প্যাকেজে মাত্র 2 মেগাবাইট!


6
এত লোক কেন বলে যে তারা আর টুইস্টেড ব্যবহার করে না, তবে জিভেন্ট?
রিমেডেক্সx

1
অনেক লোক বলছেন যে ট্যুইস্টেড (এটির কলব্যাক আর্কিটেকচারের কারণে) ব্যবহার করে বড় বড় অ্যাপ্লিকেশনগুলি বজায় রাখা কঠিন: স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 3048012/… জেন্ট বা জেনভেন্ট ভিত্তিক টুইস্ট ব্যবহার করা কি ভাল হবে না?
ওয়াজচিয়াচ ড্যানিলো

8
আপনার প্রশ্ন হিসাবে, দুটি কারণ রয়েছে rem একটি হ'ল লোকেদের বোঝা শক্ত হয় কারণ সমবর্তী প্রোগ্রামিং বোঝা শক্ত। তারা তখন GEvent এ স্যুইচ করে কারণ এটি সূক্ষ্মরূপে বোঝা সহজ - যতক্ষণ না কোনও সীমাবদ্ধতা না থাকে ততক্ষণ সমস্ত কিছু আপনার প্রত্যাশার মতোই কাজ করে। অন্য কারণটি হ'ল জিভেন্টে কোড ওভার পোর্ট করা খুব কম কাজ যা ইভেন্ট-চালিত আই / ও এর কর্মক্ষমতা সুবিধা পেতে ইভেন্ট-চালিত এপিআই ব্যবহার করে রচিত হয়নি। যদি আপনার কোড খুব বেশি রাজ্য ভাগ না করে তবে এই জাতীয় পোর্টটি সম্ভবত ভাল কাজ করে।
গ্লিফ

1
@ গ্লাইফ, আপনি সমঝোতার কথা বলছেন, তবে ... জেনভেন্ট বা ট্যুইস্টেড সমর্থন সমর্থনকারী নয় (অবশ্যই আপনি জেন্ভ দিয়ে মাল্টিপ্রসেসিং ব্যবহার করতে পারেন এবং প্রতিটি থ্রেডে রিয়েল থ্রেডের একটি পুল এবং গ্রিনলেটগুলির পুল ব্যবহার করতে পারেন - যা আমার পক্ষে ভাল কাজ করে এবং আপনি ঠিক একই কাজ করতে ট্যুইস্টেড প্লাগইন ব্যবহার করতে পারেন - একে অপরের পাশে একাধিক মোচড়ানো চালান)। তবে কি ট্যুইস্টেড আপনাকে উদ্ভাবনের চেয়ে আরও কিছু উপহাস করে? আমি ভাবি জেন্টেন্ট / মোচড়ের একাধিক উদাহরণ সহ, জেনভেন্টটি এর ব্যাখ্যামূলক আইও কলব্যাকগুলি ছাড়াই নিম্নরেখাঙ্কিত করা সহজ। আমি কিছু অনুপস্থিত করছি?
ওয়াজেসিচ ড্যানিলো

2
@ ড্যানিলো 2 হ্যাঁ, আপনি কমপক্ষে একটি জিনিস মিস করছেন :)। বিশেষত আপনি "একাধিক সিপিইউতে সমবর্তী প্যারালাল এক্সিকিউশন" এর অর্থ "সমঝোতা" শব্দটি বোঝাচ্ছেন। ট্যুইস্টড অ্যাসিনক্রোনাস (কলব্যাক-ভিত্তিক) আই / ওয়ের মাধ্যমে একযোগে I / O শিডিয়ুলিং করতে পারে। জিভেন্ট একটি মাইক্রো থ্রেড শিডিয়ুলারের মাধ্যমে একযোগে I / O শিডিয়ুলিং করতে পারে। ট্যুইস্টেড, ব্যবহার করে spawnProcess, এই আই / ও শিডিয়ুলিংটি সিপিইউ শিডিয়ুলিংয়েও অনুবাদ করা যায়।
গ্লাইফ

48

আমি @ গ্লাইফ প্রতিক্রিয়া পছন্দ করি বাঁকানো খুব ব্যাপক, সমৃদ্ধ অজগর কাঠামো। ট্যুইস্টেড এবং টর্নেডোর একটি খুব অনুরূপ ডিজাইন রয়েছে। এবং আমি এই নকশাটি খুব পছন্দ করি:

  • এটা দ্রুত
  • সহজে বোধগম্য
  • প্রসারিত করা সহজ
  • সি-এক্সটেনশনের প্রয়োজন নেই
  • পিপাইতে কাজ করে।

তবে আমি টর্নেডো হাইলাইট করতে চাই , যা আমি পছন্দ করি এবং সম্প্রতি জনপ্রিয়তা অর্জন করি। টর্নেডো, ট্যুইস্টেডের মতো, কলব্যাক স্টাইল প্রোগ্রামিং ব্যবহার করে তবে এটি ব্যবহার করে অন্তর্ভুক্ত করা যেতে পারে tornado.gen.engine(twisted.internet.inlineCallbacks ) ।

কোডবেস

সেরা মন্তব্যটি http://cyclone.io সাইট থেকে । ঘূর্ণিঝড়টি ট্যুইস্টেড এবং টর্নেডো মিশ্রিত করার চেষ্টা করে কারণ:

ট্যুইস্টেড হ'ল জনসাধারণের জন্য উপলব্ধ I / O- কে অবরুদ্ধ না করার জন্য সবচেয়ে পরিপক্ক লাইব্রেরি। টর্নেডো হ'ল ফ্রেন্ডফিডের ওয়েব সার্ভারের ওপেন সোর্স সংস্করণ, পাইথনের অন্যতম জনপ্রিয় এবং দ্রুত ওয়েব সার্ভার, ওয়েব অ্যাপ্লিকেশন তৈরির জন্য অত্যন্ত শালীন এপিআই with

টর্নেডোর মার্জিত এবং সোজাসাপ্টা এপিডিকে ট্যুইস্টের ইভেন্ট-লুপে ব্রিজ করার ধারণাটি হ'ল বিপুল সংখ্যক সমর্থিত প্রোটোকল সক্ষম করে।

তবে ২০১১ সালে tornado.platform.twisted সালে বাইরে ছিল যা একই ধরণের কার্যকারিতা নিয়ে আসে।

কর্মক্ষমতা

টর্নেডো আরও ভাল অভিনয় আছে । এটি পাইপাইয়ের সাথেও নির্বিঘ্নে কাজ করে এবং প্রচুর লাভও লাভ করে।

স্কেলেবিলিটি

টুইস্টের মতোই। টর্নেডো রয়েছে tornado.processএবং এর উপরে প্রচুর আরপিসি পরিষেবাদি প্রয়োগ করা হয়েছে।

কার্যকারিতার

71 আছে টর্নেডো ভিত্তি করে প্যাকেজ 148 পাক এবং 48 Gevent এর তুলনায়। তবে আপনি যদি প্যাকেজ আপলোডের সময়টির যত্ন সহকারে এবং গণনা করার মাধ্যমটি দেখতে পান তবে আপনি দেখতে পাবেন যে ট্যুইস্টেডগুলি সবচেয়ে পুরানো, তারপরে জেন্ট এবং টর্নেডো সবচেয়ে নতুন। এছাড়াও tornado.platform.twistedমডিউল রয়েছে যা আপনাকে টর্নেডোতে ট্যুইস্টেডের জন্য লিখিত কোড চালানোর অনুমতি দেয় ।

সারসংক্ষেপ

টর্নেডো দিয়ে আপনি ট্যুইস্টেড থেকে কোনও কোড ব্যবহার করতে পারেন। ঘূর্ণিঝড় ব্যবহার করার দরকার নেই যা কেবল মোচড় দেয় আপনার (আপনার কোডটি আরও অগোছালো হয়ে যায়)।

2014 এর হিসাবে, টর্নেডোকে বহুলভাবে স্বীকৃত এবং ডিফল্ট অ্যাসিঙ্ক ফ্রেমওয়ার্ক হিসাবে বিবেচনা করা হয় যা পাইথন 2 এবং পাইথন 3 উভয় ক্ষেত্রেই কাজ করে। এছাড়াও সর্বশেষতম সংস্করণ 4.x https://docs.python.org/dev/library/asyncio.html থেকে প্রচুর কার্যকারিতা নিয়ে আসে ।

আমি কেন একটি টর্নেডো বিবেচনা করছি তা ব্যাখ্যা করে একটি নিবন্ধ লিখেছিলাম - সেরা পাইথন ওয়েব ফ্রেমওয়ার্ক যেখানে আমি টর্নেডো কার্যকারিতা সম্পর্কে আরও অনেক কিছু লিখেছি।


15

( আপডেট) : আমি এখানে খুব কম উত্তর জেন্টকে কীভাবে সুপারিশ করে বা এমনকি উল্লেখ করে তা নিয়ে আমি দুঃখের সাথে অবাক হয়েছি — আমি মনে করি না যে এটি এই দুর্দান্ত গ্রন্থাগারের জনপ্রিয়তা, কার্য সম্পাদন এবং ব্যবহারের স্বাচ্ছন্দ্যের অনুপাতে!)

জেন্ট এবং ট্যুইস্ট পারস্পরিক একচেটিয়া নয়, যদিও প্রথমে বিপরীতটি স্পষ্ট মনে হতে পারে। এমন একটি প্রকল্প বলা হয়েছে geventreactorযা একজনকে তুলনামূলকভাবে স্বাচ্ছন্দ্যজনকভাবে উভয় বিশ্বের সেরা লাভ করতে দেয়, যথা:

  • জেনভেন্টের দক্ষ এবং সস্তার (সমবায় সবুজ) থ্রেড মডেল, যা সম্মতিতে আসে যখন এটি প্রোগ্রাম করা অনেক সহজ ran সত্যি কথা, inlineCallbacksঅনেকগুলি কর্টিনের ক্ষেত্রে টুইস্টেড পারফরম্যান্সের দিক দিয়ে কেবল কাজ করা যায় না, এবং না স্বাচ্ছন্দ্যের শর্তাদি / ব্যবহারের স্বচ্ছতা: yieldএবং Deferredsসর্বত্র; প্রায়শই কিছু বিমূর্ততা তৈরি করা শক্ত; ভয়াবহরূপে অকেজো স্ট্যাক উভয় Deferredপাশাপাশি খালি এবং এর সাথে আরও কিছু আবিষ্কার করে more@inlineCallbacks
  • মোচড়ের সমস্ত অন্তর্নির্মিত কার্যকারিতা আপনি কখনও স্বপ্ন দেখতে পারেন, সহ সীমাবদ্ধ নয় IReactorProcess.spawnProcess

আমি বর্তমানে ব্যক্তিগতভাবে জেনভেন্ট 1.0rc2 টি ট্যুইস্টেড 12.3 দিয়ে ব্রিজযুক্ত ব্যবহার করছি geventreactor। আমি আমার নিজস্ব হিসাবে এখনও অপ্রকাশিত সংযোজন এবং সংযোজনগুলি বাস্তবায়িত করেছি geventreactorযা আমি শীঘ্রই প্রকাশ করব, আশা করি geventreactorএর মূল গীতহাব সংগ্রহস্থলের অংশ হিসাবে : https://github.com/jyio/geventreactor

আমার বর্তমান লেআউটটি আমাকে জেন্টের দুর্দান্ত প্রোগ্রামিং মডেল এবং নন-ব্লকিং socket, urllib2এবং অন্যান্য মডিউলগুলির মতো লিভারেজের জিনিসগুলিতে প্রোগ্রাম করার অনুমতি দেয় । আমি নিয়মিত কিছু করার জন্য নিয়মিত পাইথন কোডটি ব্যবহার করতে পারি, শেখার বক্ররেখার বিপরীতে এবং এমনকি বাঁকানো পদ্ধতিতে সাধারণ, বেসিক জিনিসগুলি করার অসুবিধাও হয়। আমি খুব সহজেই বেশিরভাগ তৃতীয় পক্ষের লাইব্রেরিগুলিও ব্যবহার করতে পারি যা সাধারণত ট্যুইস্টযুক্ত প্রশ্নগুলির বাইরে থাকে বা থ্রেড ব্যবহারের প্রয়োজন হয়।

আমি গ্রিনলেট ব্যবহার করে ( Deferredগুলি এবং কলব্যাকের পরিবর্তে এবং / অথবা @inlineCallbacks) বিশ্রী এবং প্রায়শই অতিরিক্ত জটিল কলব্যাক ভিত্তিক প্রোগ্রামিং এড়াতে পারি ।

(রিয়েল লাইফ প্রজেক্টগুলিতে ট্যুইস্টড এবং জেনভেন্ট উভয়ই ব্যবহার করা আমার ব্যক্তিগত অভিজ্ঞতার ভিত্তিতে এই উত্তরটি লেখা হয়েছিল, টুইস্ট ব্যবহার করে উল্লেখযোগ্যভাবে আরও অভিজ্ঞতার সাথে (তবে আমি কোনও টুইস্টেড বিশেষজ্ঞ বলে দাবি করি না) The আমার যে সফ্টওয়্যারটি হ্যাসন লিখতে হয়েছিল তা আমার পক্ষে নয়) 'টুইস্টেড'র বৈশিষ্ট্যগুলির অনেকগুলি ব্যবহার করতে হয়নি, সুতরাং আপনার ট্যুইস্টেড হওয়া প্রয়োজনীয় বৈশিষ্ট্যগুলির সেটের উপর নির্ভর করে জেন্টেন্ট এবং ট্যুইস্টেড মিশ্রণের অতিরিক্ত জটিলতা (সমস্যার তুলনামূলক ব্যথাহীন) সমস্যাটি নাও পারে))

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.