- I-Cloudflare isebenzisa i-Pyodide kanye ne-WebAssembly ukwenza i-Python ngokwendabuko emaphethelweni, isuse i-overhead yeseva yendabuko.
- Ukusetshenziswa kwezifinyezo zememori ngesikhathi sokufakwa kunciphisa kakhulu izikhathi zokuqala ezibandayo zemisebenzi ye-Python engenaseva.
- Ukuhlanganiswa ne-ASGI/WSGI kuvumela izinhlaka ezidumile ezifana ne-FastAPI kanye ne-Django ukuthi zisebenze kunethiwekhi yomhlaba wonke esabalele.
- I-RQ (i-Redis Queue) inikeza ukwakheka okuqinile kokucutshungulwa kwemisebenzi yangemuva ngomjikelezo wokuphila we-fetch-fork-execute.
Uma ubulokhu uzulazula emphakathini we-Python, uyazi ukuthi ukusebenzisa ikhodi yakho emaphethelweni kwakuba yindaba ebuhlungu. Isikhathi eside, ukukhetha kwakuphakathi kwamaseva asindayo noma ukusingatha amaphrojekthi esimanje noma ukunamathela ku-JavaScript ngemisebenzi engenamaseva. Kodwa izinto zishintshile, futhi i-Python Workers ivele njengoshintsho olukhulu, okuvumela abathuthukisi ukuthi basebenzise i-Python logic emhlabeni wonke ngaphandle kwemithwalo evamile yengqalasizinda.
Kungakhathaliseki ukuthi ufuna ukwakha i-API esebenza kahle kakhulu noma iprosesa yomsebenzi wangemuva, isimo samanje sinikeza izincazelo ezimbili ezihlukile kodwa ezinamandla "zesisebenzi." Ngakolunye uhlangothi, sine- Cloudflare's serverless implementation sisebenzisa i-WebAssembly, kanti ngakolunye uhlangothi, indlela ye-RQ (Redis Queue) yakudala yokusingatha imisebenzi engahambisani. Zombili ziletha amandla ahlukile etafuleni kunoma ubani ofuna ukwandisa izinhlelo zakhe zokusebenza ze-Python.
Umlingo Wabasebenzi Be-Cloudflare Python

Empeleni, i-Cloudflare ikwazile ukwenza icebo elihle ngokusebenzisa i-Pyodide , okuyinguqulo ye-CPython ehlanganiswe ku- WebAssembly (Wasm) ye-server-side compute . Lokhu kusho ukuthi ikhodi yakho ye-Python ayidingi umshini wendabuko obonakalayo; kunalokho, ihunyushwa ngqo ngaphakathi kwe- V8 isolate . Lobu buciko buvumela indawo yokusebenza ethambile kakhulu ekhombisa ukusebenza kahle kwabasebenzi be-JavaScript.
Uma udlala ngentuthuko yendawo, cishe uzosebenzisa i-pywrangler . Inqubo ayilula neze: isikhathi sokusebenza sihlola usuku lwakho lokuhambisana ukuze sikhethe inguqulo efanele ye-Pyodide, sibambe amaphakheji abhalwe ku -pyproject.toml yakho , bese siphendula i-isolate. Asikho isidingo sezinyathelo zokuhlanganisa ezikhathazayo ngoba isikhathi sokusebenza se-Workers sisingatha ukujova kwemvelo ngokuzenzakalelayo.
Ukuthuthukisa Umzabalazo Wokuqala Okubandayo

Enye yezingqinamba ezinkulu nge-serverless "ukuqala okubandayo," futhi i-Python ngokomlando ihamba kancane ukuqala kune-JS. I-Cloudflare ibhekana nalokhu ngokwenza ukuphakamisa okunzima ngesikhathi somjikelezo wokuphila kokufakwa . Uma uthumela, uhlelo alugcini nje ngokulayisha ikhodi; empeleni lusebenzisa indawo yokungena futhi lungenise ezingeni eliphezulu ukuze luthathe isithombe sememori eqondile ye-WebAssembly.
Lesi sithombe yikho okwenza umlingo wenzeke. Uma isicelo sifika ngempela kubasebenzi bakho, i-Cloudflare ilayisha lesi simo esifudunyeziwe ukuze iqalise umsebenzi ngokushesha. Lokhu kudlula isigaba sokuqalisa esibizayo, okwenza ulwazi lwe-Python luzizwe lushesha futhi lulungele ukukhiqiza.
Ukwandisa i-Ecosystem kanye nezinhlaka

Ukunqoba kwangempela kwabathuthukisi ukuthi i-Python manje isiyisakhamuzi sesigaba sokuqala epulatifomu ye-Cloudflare. Awukhawulelwe kuma-script ayisisekelo; empeleni ungasebenzisa ama-hitter aqinile njenge -FastAPI, i-Django, ne-Flask . Njengoba i-Cloudflare isebenza njengeseva yewebhu, inikeza izixhumi ze-workers.asgi kanye ne-workers.wsgi ezisebenza njengebhuloho elincane, zihumusha izicelo ze-JS zomdabu zibe amafomethi alindelwe yilezi zinhlaka.
Ukuze kuxazululwe iphupho elibi lezandiso ze-C zomdabu, umphakathi wethule i-PEP 783 (PyEmscripten) . Lokhu kuqinisekisa ukuthi amaphakheji e-Python ahlanganiswa kanjani ne-Wasm, okusho ukuthi siya ezweni lapho cishe noma yimuphi umtapo wolwazi ungaba nesondo elisebenza ngesikhathi sokusebenza esifana nesiphequluli . Ngaphezu kwalokho, ngokusebenzisa izingcingo zesistimu yesokhethi nge- Workers connect API , i-Python Workers manje ingakhuluma nezizindalwazi ezihlobene njenge -PostgreSQL ne-MySQL ngokusebenzisa ukwakheka kwesizindalwazi sesimanje nge-Hyperdrive, ukunqoba imikhawulo yendabuko yama-sandbox e-Wasm.
Ukwakha Amapayipi E-AI Emaphethelweni

I-Python iyinkosi ye-AI engaphikiswa, futhi laba basebenzi banamathela kulokho. Ngokuhambisa izicelo ze-HTTP nge- JavaScript fetch API , imitapo yolwazi efana ne -LangChain ne-OpenAI isebenza ngokwendabuko. Lokhu kwenza kube lula ukudalwa kwama -ejenti e-AI ayinkimbinkimbi kanye nengqalasizinda yamafu engasebenzisana ne -Workers AI ukuze kutholakale i-GPU noma isebenzise izinhlelo ze-Vectorize for RAG (Retrieval-Augmented Generation), konke lokhu kuhlale kuseduze nomsebenzisi wokugcina.
Isisebenzi Sangemuva Esijwayelekile: RQ (Redis Queue)
Ukushintsha amagiya kuya kusakhiwo sendabuko se-backend, isisebenzi ngokuvamile siyinqubo yangemuva eyenzelwe ukusingatha imisebenzi yokuvimba noma ende ukuze inqubo eyinhloko yewebhu ingami. I-RQ (i-Redis Queue) iyindinganiso yegolide lapha, esebenza njengehhashi lomsebenzi elidonsa imisebenzi ku-Redis ngendlela eqhubekayo.
Ungazisebenzisa lezi kwimodi yokuqhuma , lapho isisebenzi siqeda yonke imisebenzi yamanje bese sivala, okulungele ukucutshungulwa kwe-batch okwenziwa ngezikhathi ezithile. Ekukhiqizeni, kunconywa kakhulu ukusebenzisa i-systemd noma i-Supervisor ukugcina lezi zinqubo ziphila. Umjikelezo wokuphila ulula: isisebenzi siyaqala, sibhalise sona, sikhiphe umsebenzi emgqeni, bese sivala inqubo encane yokwenza umsebenzi, siqinisekise ukuthi ukuphahlazeka emsebenzini akubulali isisebenzi sonke.
Ukwenza ngokwezifiso ukuziphatha kwabasebenzi be-RQ
Kuye ngezidingo zakho, ungase ungasifuni isisebenzi esisekelwe kufoloko esizenzakalelayo. Ezindaweni zokuhlola noma ze-Windows, i- SimpleWorker isebenzisa imisebenzi ngenqubo efanayo, kuyilapho i -SpawnWorker isebenzisa i-os.spawn(). Uma unemigqa eminingi futhi ufuna ukugwema ukubekwa phambili okuqinile, i- RoundRobinWorker iqinisekisa ukuhlela okulungile ngokugibela imigqa ngokulandelana.
Abasebenzisi abathuthukile bangashintsha i -serializer ye-pickle ezenzakalelayo ye-JSON ukuze bathuthukise ukuphepha kanye nokusebenzisana. Ungasebenzisa futhi abaphathi be-exception abangokwezifiso ukuphatha ukwehluleka ngendlela ehlukile ngokusekelwe ohlotsheni lomsebenzi. Kulabo abaphatha iqembu labasebenzi, i- WorkerPool ikuvumela ukuthi uqalise izimo eziningi zabasebenzi ngomyalo owodwa, okwenza kube lula ukukala ukucubungula kwakho imisebenzi ngendlela engahambisani.
Kusukela emandleni angenaseva angenawo amandla e-Cloudflare's Wasm-powered running time kuya ekuthembekeni okuqinile, okusekelwe yiRedis kwe-RQ, abasebenzi bePython banikeza ithuluzi elisebenziseka kalula kubathuthukisi banamuhla. Kungakhathaliseki ukuthi usebenzisa ama-ejenti e-AI emhlabeni jikelele noma ucubungula imigqa yedatha enkulu ngemuva, ikhono lokusebenzisa uhlelo lwe-Python olukhulu lwelabhulali kulezi zindawo ezikhethekile liqinisekisa ukuthi ukwandiswa kohlelo lokusebenza kanye nokukhiqiza konjiniyela kuyahambisana.
