forum.ge
reklama
FORUM.GE წესები  · დახმარება  · ძებნა  · წევრები  · კალენდარი  · ჩატი
Pages: (50) « პირველი ... 48 49 [50]   ( გადავიდეთ პირველ წაუკითხავ წერილზე ) გამოხმაურება · ახალი თემა · ახალი გამოკითხვა

> ჩაინიკური შეკითხვები Python-ში
NinjaRacer
Conducting an orchestra


*****
ჯგუფი: Registered
წერილები: 1693
წევრი No.: 241880
რეგისტრ.: 2-April 18

გამოგზავნილია: 18 Aug 2019, 11:51  #55125632      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა · ვებგვერდი
QUOTE
პატარა კოდი მქონდა :დ


სწრაფი კოდი გინდა პითონში?

გადაწერე სი/სიპიპი-ში.

მარტივად biggrin.gif


--------------------
__signature__

I have not failed, I've just found
10,000 ways that won't work. (Thomas Edison)
RexxaR
Crazy Member


*****
ჯგუფი: Registered
წერილები: 1340
წევრი No.: 98449
რეგისტრ.: 25-August 09

გამოგზავნილია: 18 Aug 2019, 12:35  #55125780      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა
QUOTE
ეს კოდი წინა კვირისაა რომელიც ამ 5000-დან 200 ლინკი მოაქვს, ერთი ლუპია დასამატებელი და 5000-ვეს წამოიღებს. ოღონდ სწრაფი არანაირად არაა.


სწრაფი ფიზიკურად ვერ იქნება ვერასდროს სელენიუმის პონტში ვამბობ

პირდაპირი სქრეპინგი არ გიცდია? ხო არ დაგბლოკეს უკვე biggrin.gif


PS:

user posted image

implicit_wait-ი მხოლოდ ერთჯერადად უნდა გაიწეროს, შენ რომ რამოდენიმე ადგილას გიწერია ისე არ მუშაობს როგორც გგონია.

თუ რაიმეზე დალოდება გინდა EC მოდული გამოიყენე

user posted image
NinjaRacer
Conducting an orchestra


*****
ჯგუფი: Registered
წერილები: 1693
წევრი No.: 241880
რეგისტრ.: 2-April 18

გამოგზავნილია: 18 Aug 2019, 13:38  #55125995      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა · ვებგვერდი
QUOTE
implicit_wait-ი მხოლოდ ერთჯერადად უნდა გაიწეროს, შენ რომ რამოდენიმე ადგილას გიწერია ისე არ მუშაობს როგორც გგონია.

ვიცი ეგ

მანდ დაჟე თავში ერთი 300 წამიანი უნდა მიმეცა და ეგ იყო. პროსტა რაღაცეები რო არ მუშაობდა. იმის გამო რომ სწრაფად იტვირთებოდა და DOM არ იყო მთლიანად აგებული რაღაც დატაზე არ მქონდა წვდომა (ამიტომ დამჭირდა სლიფი 0.1 წამი) და დავიწყე ჩალიჩი რომ გამერკვია და მერე არ წავშალე.
ეგ როგორ მუშაობს მერე წავიკითხე და მივხვდი რომ ერთხელ უნდოდა.


ჰო მულტიპროცესინგზე რაც დაწერე არ მიპასუხია.

მულტისტრედინგი პროცესზე სწრაფი არის და შეარდ მემორიც აქვს და ამიტომ გინდა locking(mutex), ასევე race condition-ებისგანაც უნდა დაიცვა თავი
(ეს ვიგულისხმე შარში) მაგრამ მაგას აქვს ერთი დიდი ლიმიტი. GIL
ყველა სრედი მიდის არა პარალელურად არამედ მონაცვლეობით, პროცესებზე კიდევ:

1. იყენებ ყველა ქორს ბოლომდე. (სრედინგზე მარტო ერთ ქორს იყენებ რეალურად)
2. კონტექსტ სვიჩები ძალიან ძვირი ოპერაციაა. ძალიან ნელი და ძალიან არაეფიშენთი.
3. გაქვს ნამდვილი პარალელიზმი და არა მოჩვენებითი, როგორც სრედინგზე.


ამიტომ რაღაც შემთხევებში პროცესებს ვერანაირად ვერ აჯობებს.
დავანებოთ request-ების გაგზავნას თავი.
მაგას while ლუპით დავწერთ და წამში მილიარდ რექუესტს გავაგზავნი, სიტყვაზე ან რამე სხვა უკეთთესი მეთოდით.

ზოგადად ვამბობდი მე რომ პროცესინგი უფრო სწრაფია. იმიტომ რომ კი ბატონო მეტი მეხსიერება მიაქვს. კი არ აქვთ ერთმანეთის დატაზე წვდომა, ნუ თუ შვილი არაა იმ პროცესის. შვილებს პარენტის დატაზე აქვთ წვმოდა. კი გინდა IPC, მაგრამ რეალურად სრედინგი არის 1 ქორზე შეზღუდული, როცა მე 8 ქორი მაქვს

8 > 1

არა არავის დავუბლოკივარ.

თავიდან როცა დავწერე ცოტა სხვანაირად 300 რექუესტზე მეტი რომ გავუგზავნე წამში მითხრა სლოუ დაუნო და ცოტახანი ტაიმატუში გამიშვა სერვერმა მერე გადავაკეთე და გასწორდა gigi.gif

სკრეპინგით კი ვიფიქრე მარა ვერანაირად ვერ გამოვდიდა ეგ ამბავი (მე მგონი biggrin.gif)


მანდ ვიდეოზე თუ არ დააკლიკე და ეგ საიტი თუ არ გახსენი ლექცია ისე არამგონია გიახსნას ეგ ერთი და მეორე პროსტა სელენიუმით ჩალიჩის მურამი მქონდა. ტესტინგში გამოვიყენებ მერე რაღაცეებზე.

ეს ბოლო არის მუშა კოდი
https://github.com/gurguration/Useful-Pytho...d_downloader.py

This post has been edited by NinjaRacer on 18 Aug 2019, 14:05
RexxaR
Crazy Member


*****
ჯგუფი: Registered
წერილები: 1340
წევრი No.: 98449
რეგისტრ.: 25-August 09

გამოგზავნილია: 18 Aug 2019, 14:19  #55126097      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა
QUOTE
დავანებოთ request-ების გაგზავნას თავი.


ზუსტად ვებ სქრეპინგის პონტში დავწერე რო thread-ები გაცილებით ეფექტურია, მილიონჯერ. თორე ზოგადად რასაც წერ მართალი ხარ, კონკრეტულად სქრეპინგ თასქებშია კარგი thread-ები

მიზეზი:

როდესაც რექუესტს აგზავნი საიტზე მომენტალურად არ ხდება რესპონსი ხო თავისთავად (ჭირდება მილიწამებიდან ზემოთ ძირითადად 1 წამის რეინჯში), შესაბამისად სრეადინგი (ან ასინქრონული სქრეპინგი) არის გაააცილებით ეფექტური და სწრაფი 1 კორზე ვიდრე მხოლოდ მულტიპროცესინგზე დაკიდებული სქრეპინგი თუნდაც 32 კორზე. იმიტო რო შეიძლება 100 და მეტი სრეადი მქონდეს გაშვებული პარალელურად.

ანუ შენს შემთხვევაში პროცესინგი ჯობდა ცალსახად იმიტო რო ვიდეოს იწერ თითო პროცესით და დაყოვნება ფიზიკურად არ გაქვს, აი მაგ შემთხვევაში რომ სრეადინგი გამოიყენო ვერანაირ ბენეფიტს ვერ მიიღებ გარდა ტასკიდან ტასკზე მოხტუნავე პროცესორისა, შესაბამისად ნელი იქნებოდა

QUOTE
მაგას while ლუპით დავწერთ და წამში მილიარდ რექუესტს გავაგზავნი, სიტყვაზე ან რამე სხვა უკეთთესი მეთოდით.


ვაილ ლუპით მილიარდ რექუესტს ვერ გააგზავნი 1 წამში შანსი არაა თუ ასინქრონულობა/პარალელიზმი არ ჩართე საქმეში

QUOTE
სკრეპინგით კი ვიფიქრე მარა ვერანაირად ვერ გამოვდიდა ეგ ამბავი (მე მგონი )


თუ გინდა მომე წვდომა და გამოვიყვან 99%
NinjaRacer
Conducting an orchestra


*****
ჯგუფი: Registered
წერილები: 1693
წევრი No.: 241880
რეგისტრ.: 2-April 18

გამოგზავნილია: 18 Aug 2019, 14:28  #55126122      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა · ვებგვერდი
RexxaR
QUOTE
როდესაც რექუესტს აგზავნი საიტზე მომენტალურად არ ხდება რესპონსი ხო თავისთავად (ჭირდება მილიწამებიდან ზემოთ ძირითადად 1 წამის რეინჯში), შესაბამისად სრეადინგი (ან ასინქრონული სქრეპინგი) არის გაააცილებით ეფექტური და სწრაფი 1 კორზე ვიდრე მხოლოდ მულტიპროცესინგზე დაკიდებული სქრეპინგი თუნდაც 32 კორზე. იმიტო რო შეიძლება 100 და მეტი სრეადი მქონდეს გაშვებული პარალელურად.

ჰო როცა ქსელთან გაქვს შემთხვევა 100% ეგრეა. ლეიტენსები გაქვს და ტყუილად პროცესების დასპაუნება რესურის ფლანგვაა.
როცა სტრიმი მოდის მანდ უკვე ხტუნაობა ზედმეტია ეგეც მართალია.


QUOTE
ვაილ ლუპით მილიარდ რექუესტს ვერ გააგზავნი 1 წამში შანსი არაა თუ ასინქრონულობა/პარალელიზმი არ ჩართე საქმეში



ზემოთ რაკოდიც დავდე კაკრაზ ვაილ ლუპი ამოძრავებს მაგათ მთელი სისწრაფით (1 ქორს რაც შეუძლია)
ანუ სანამ Queue-ში მაქვს დარჩენილი ლინკები მანამდე გიჟივით (100%-ით) ამოწურავს 1 ქორის შესაძლებლობებს ამ 3 სრედის მეშვეობით.

არ დამითვლია თანაფარდობა, რამდენი სრედი ჯობია რამდენს ქორზე და რამდენ პროცესზე სიმართლე გითხრა. კაკრაზ პროცესინგი გინდა როცა ბევრი რექუესტის გაგზავნა გინდა.
თითო ქორზე თითო while loop და 100% ამოწურავ ყველა ქორს. ეგრე არაა?

QUOTE
თუ გინდა მომე წვდომა და გამოვიყვან 99%

სამსახურის კომპზე აქვს თანამშრომელს ქრედენშალები თორე მოგცემდი smile.gif
თუ გამოყვანადია მეც გამოვიყვან 100% smile.gif უბრალოდ როგორც გითხარი არც სრედინგში არც პროცესინგში და არც ეისინქში.
კარგად არ მიმუშავია. ყველა გაომიყენებია. მარტივი კოდი დამიწერია დავალება შემმისრულებია მგრამ 100% რომ ამომეწურის ყველას შესაძლებლობა ეგრე არა. არც სქრეფინგი არ მიჩალიჩია ბევრი. ამიტომ არ ვიცოდი თუ გამოყვანადია.
მაგაზეც წავივარჯიშებ. ჰოდა ორშაბათი- თუმმოვიცალე ვიზამ ან სამშაფათს და წავივარჯიშოთ არ იქნება ნამდვილად ცუდი smile.gif

* * *
RexxaR
მადლობა ძალიან დამეხმარე ისე smile.gif <3
ანეეეს რო დავუწერე აქ ამ თემაში,
lambda, generator, asyncio, multithreading, multiprocessing კაი მეთქი ეგ დებილიბისთვისაა, MIT არ ასწავლისო biggrin.gif ჩეკიოზე კიდევ კარგი დამიჯერა givi.gif


მე კიდევ მგონი რომ მთელი პითონი asyncio-ს გარშემო დაიწყებს ტრუალს. ნუ კიდევ ბევრი რამეა რაც ამ ენას აცოცხლებს და ძალიან მაგარს ხდის მაგრამ ერთერთი ეგაა.



ეს კაცი ძაან ჯიგაროა. სრედებზე რო ჯოინს აკებთებ ან queue-ზე ამ კაცის დაწერილია ეგ API და არამარტო ეგ პითონის ალბათ 30% ამან დაწერა დანარჩენი Guido-მ (პითონის შემქნელმა მამამ givi.gif)

This post has been edited by NinjaRacer on 18 Aug 2019, 16:21
RexxaR
Crazy Member


*****
ჯგუფი: Registered
წერილები: 1340
წევრი No.: 98449
რეგისტრ.: 25-August 09

გამოგზავნილია: 19 Aug 2019, 11:38  #55128997      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა
QUOTE
მადლობა ძალიან დამეხმარე ისე  <3


რაში? biggrin.gif მეღადავები?
NinjaRacer
Conducting an orchestra


*****
ჯგუფი: Registered
წერილები: 1693
წევრი No.: 241880
რეგისტრ.: 2-April 18

გამოგზავნილია: 19 Aug 2019, 11:40  #55129003      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა · ვებგვერდი
RexxaR
QUOTE
რაში? biggrin.gif მეღადავები?

რას გეღადავები კაცო, ბევრი რამე გავიგე და გავიაზრე ახალი + თან გამოცდილებაც რო გაგვიზიარე კაია.

არ გეღადავები.
NinjaRacer
Conducting an orchestra


*****
ჯგუფი: Registered
წერილები: 1693
წევრი No.: 241880
რეგისტრ.: 2-April 18

გამოგზავნილია: 20 Aug 2019, 19:03  #55134864      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა · ვებგვერდი
https://docs.python.org/3/library/ipc.html


ამას ვუზივარ,

ადრე ტორნადოზე რაღაც დავწერე და გული გამისკდა თავიდან ისეთი რთული იყო. ახლა ბევრად დალაგებულად გავდივარ.

ეისინქი 50% მაინც არის ამ ენის. ჰოდა თავიდან ბოლომდე უნდა დავუთმო ერთი 10 დღე.
Lilith
¡ŋ ђθς ş¡ģŋθ ұ¡ŋςəş


*******
ჯგუფი: Members
წერილები: 10036
წევრი No.: 370
რეგისტრ.: 8-October 01

გამოგზავნილია: 20 Aug 2019, 19:11  #55134907      · პროფილი · პირადი მიმოწერა · ჩატი · ვებგვერდი
NinjaRacer
უჰ, ტორნადოს ენაცვალოს ჩემი თავი smile.gif სხვას არც ვიყენებ, flask-ის სწავლა მინდოდა რამდენჯერმე, მაგრამ ისევ და ისევ tornado forever bis.gif


--------------------
აფრენით ყველა ვაფრენთ შე კაცო, ასაფრენი ბილიკების მეტი რა გვაქვს, დასაფრენი ბილიკები თქვი შენ... (c) gia1970
NinjaRacer
Conducting an orchestra


*****
ჯგუფი: Registered
წერილები: 1693
წევრი No.: 241880
რეგისტრ.: 2-April 18

გამოგზავნილია: 20 Aug 2019, 19:50  #55135082      · პროფილი · პირადი მიმოწერა · ჩატი · ელფოსტა · ვებგვერდი
Lilith

YEP up.gif

ხო 1 თვე წავიმუშავე odoo-ზე, ცოტა ფლასკი, ცოტა ჯდანგო, ერთხელ wsgi მოდულითაც ვიჩალიჩე პატარა მეილ სერვერი, მე რავიჩალიჩე python cookbook 3-ში იყო მზა კოდი და სავარჯიშოსავით გადავწერე.
ყველა ფრეიმვორკი მომეწონა მაგრამ ტორნადო ძმაა. 10 000 req/sec შეუძლია გაატაროს. ერთი სრედშია ჩაკეტილი. ყველა asyncio-ს კოდი და ბიბლიოთეკის მხარდაჭერა აქვს. რა გინდა მეტი). დახასიათებაც ეგეთი უნდა.

ფბ-ს დაწერილია და მერე გააოფესნსორსა. სამწუხარდ კარგად არცერთზე არ მიმუშავია რა :/ პატარ-პატარა-რაღაცეები ვიჩალიჩე სხვისი კოდი გადავაკეთე და ა.შ აი 0 -დან ჯერ არა.

იქეთ თვეში მინდა დავწერო multicast igmp proxy router-ი, რომელიც რომელიმე არსებულ iptv-ს სერვისს დაუკავშირდება.
ექნება ჩენელების საბსქრიფშენი, ერთროულად რამდენიმე ჩენელის ნახვაც უნდა შეეძლოს და ეს ყველაფერი უნდა იყოს raspbery pi-ზე და ტორნადოს გამოვიყენებ ვებისთვის რათქმაუნდა და უნდა შეეძლოს რეტრანსალაცია/გასტრიმვა ამ ყველაფრის. ჯერ ვერ ჩამოვყალიბდი მეც smile.gif
* * *
საკუთარ myvideo-ს ვხსნი bis.gif


:dddddd
1 წევრი ათვალიერებს ამ თემას (1 სტუმარი და 0 უჩინარი წევრი)
0 წევრი:
Topic Options Pages: (50) « პირველი ... 48 49 [50]  გამოხმაურება · ახალი თემა · ახალი გამოკითხვა

 



ფორუმის სერვერების განთავსებას და ინტერნეტთან კავშირს უზრუნველყოფს: CLOUD9
[ Script Execution time: 0.0454 ]   [ 12 queries used ]   [ GZIP Disabled ]