Ugrás a tartalomhoz
Vissza a Nymbothoz

Tudásbázis Kód

Kód futtatása egy szerveren

Amikor a kódnak többre van szüksége, mint amennyit a készülék adhat - egy másik nyelv, csomagok az internetről, több idő - a Nymbot saját szerverén futtathatja azt, egy olyan tartályban, amelyet az adott futáshoz készítettek.

Mi az a Server Run

A szerver fut egy friss tartályt, helyezi a kódot benne, futtatja, visszaküldi, amit kinyomtatott, és elpusztítja a tartályt. Az egyensúlyért Addig is, amíg tényleg futott.

Két módja van: fut a szerveren egy kódblokkban, és a szerver fut, amit a Nymbot kéri, miközben egy adattár.

Gyors Python vagy JavaScript, amely nem igényel semmit az internetről, az ingyenes Sandbox a készüléken Ez általában elég.

Kódblokk futtatása

A Python, a JavaScript, a TypeScript, a shell, a Go, a Rust, a Java és a Dart kódblokkok egy válaszban egy fut a szerveren gomb, amikor a kiszolgáló fut. Ez megnyitja a lapot, amely megmutatja:

  • A kép A kód fut,
  • Választható határidő: 1, 5 vagy 15 perc
  • amennyit a futás költsége lehet, a Pro kreditekben, az adott időkorlátra,
  • és, ha a csevegés fájlokat csatolt, egy doboz, hogy őket. Ők csak akkor megy, ha ellenőrizni.

Nyomtatás futás és a kimenet a kódblokk alatt áramlik, ahogy megérkezik: mit nyomtatott, a kimeneti kódot, mennyi ideig futott, bármilyen fájlt írt (mindegyik egy Megmentés gombot), és hogy mi az, amit felfüggesztettek.

megállás A szerver azonnal leáll, és csak a futás idejére fizetsz.

Egy Anonim módszerek A chat a futás a dobott kulcs Pro kreditéből kerül kifizetésre, és a csatolt fájlok soha nem szerepelnek.

Nyelvek és képek

Minden nyelv egy képet futtat, egy kész rendszer a nyelvi eszközökkel.A nagyobb képek nagyobb szervereken futnak, és percenként többet fizetnek.

képHasznált aMit tartalmazszerver
PythonPythonPython 3.12 pip, venv, build eszközök és git; numpy, pandas és pytest már telepítve0,5 CPU, 4 GB memória
Node.jsJavaScript és TypeScriptNode.js 22 npm, pnpm és yarn, plusz Python 3, make és C++ kompilátor0,5 CPU, 4 GB memória
PoliglotásShell, Go, Rust és Javabash, C és C++ build eszközök, Python 3, Node.js, Go, Rust with cargo és Java 171 CPU, 6 GB memória
FlottázóDartFlutter 3.32 és Dart2 CPU, 8 GB memória

Mennyibe kerül

A kiszolgálóidő 10 másodperces lépésekben kerül felszámításra, a kiszolgálótól a bezárásig, 10 másodperccel, mint a legkevesebb futás költsége.

  • Az ár az előtérben látható, maximálisan. Ez az egész időkorlátozás ebben az arányban. soha nem kapsz többet, és egy futás, amely korán befejeződik, kevesebbet fizet.
  • A maximumot a futás közben tartják. Amikor véget ér, a tényleges töltés megtörténik, és a többi szabadul fel.
  • Egy futás, amely nem indul el, ingyenes.
  • Alkalmazzák a kiadási kapukat. Egy futás, amely túlléphet egy cica Kifizetési fejezet Először kérdezz, ugyanúgy, mint a válasz.

Mivel az ár követi a Bitcoin árát, akkor az a pillanat között mozog, amikor látja, és a pillanat, amikor megnyomja a Run.

A szerver egy repozitóriumban fut

Egy csevegésben a adattár összekapcsolva, a Szerverek futnak A chip lehetővé teszi a Nymbot számára, hogy parancsokat kérjen a kódja ellen, például a függőségek telepítését és a tesztek futtatását egy változás után.

Minden alkalommal, amikor a modell szeretne valamit futtatni, a válasz szüneteltet, és egy kártyát jelenít meg a kép, a teljes parancs, az időkorlát és a legmagasabb költség, valamint melyik tárhely, ha a csevegés több.

  • Engedje meg egyszer Ez fut a repozitórium ellen a válasz eddig elvégzett szerkesztéseivel, és a modell visszakapja a kimeneti kódot, a kimeneti véget és a parancs által módosított fájlok listáját.
  • csökkenés Semmi nem megy, és nem kerül semmibe.A válasz nélkül folytatódik.

Minden futás kér. Mindegyik külön-külön kerül felszámításra a válaszból, és a válasz felsorolja az elvégzett futásokat és az egyes költségeket. Kifizetési fejezetElutasítják, mielőtt megkérdezik tőled.

A parancs módosításai a kiszolgálón ott maradnak, és eldobják a konténerrel. Nem íródnak a tárolóba. A tároló módosításai csak a válasz saját szerkesztéseiből származnak.

Amit elszigeteltek

  • Friss konténer minden futáshoz. Semmi sem oszlik meg egy másik futással vagy egy másik személlyel, és a konténer megsemmisül, amikor a futás véget ér, függetlenül attól, hogy sikeres volt-e vagy sem.
  • Nincs internet, kivéve a csomagjegyzékeket. A konténer letölthető a következő helyekről: PyPI, npm és yarn, pub.dev és a Google tárolása Flutter és Dart, a Go modul proxy, crates.io, Maven Central és GitHub git függőségekhez és letöltésekhez. Ez csak letölthető. Nem küldhet semmit nekik, vagy elérheti bármely más címet.
  • Csak amit kiválasztott, az lép be. A kódot, a fájlokat, amelyeket magában foglal, vagy a tár fájlokat. a kulcsok, a git token és a csevegések soha nem lépnek be a tartályba.
  • Az eredményt nem megbízhatónak tekintik. A raktárban, amit a futás kinyomtat, a modell külső adatokként van megjelölve, és azt mondják, hogy soha ne kövesse a benne lévő utasításokat.

Korlátok

  • Egy szerver fut egyszerre minden kulccsal. A második elindítása, miközben az első még folyamatban van, elutasításra kerül.
  • A tárhely futtatása legfeljebb 15 percig, vagy 20 percig kérheti a Flutter képet.
  • Legfeljebb 1 MB kód, és legfeljebb 200 csatolt fájl összesen 20 MB.
  • Legfeljebb 60 MB tároló, csomagolva.
  • Legfeljebb 256 KB kimenet. Bármi, ami lejárt, és a futás azt mondja.
  • Legfeljebb 200 fájlt, összesen 8 MB-ot adtak vissza mentésre.

A szerver futtatásai karbantartás céljából kikapcsolhatók egészként vagy egyszerre egy képként. fut a szerveren A gomb és a chip nem jelenik meg.

Feladatok Panel

A tárhely csevegésben a csevegés tetején lévő ellenőrzőlista gomb megnyitja a Feladatok pan. Ez felsorolja, mit tett minden fordulat, a legújabb először: a fájlokat olvasott és szerkesztett, elkötelezett, változások lépett a felülvizsgálat, és minden szerver fut a parancs, a kép, az idő, a költség és a kilépés állapotát. A szerver fut, várva a jóváhagyás engedélyezhető vagy elutasítható a panelen, ugyanaz, mint a kártyáját, és a futó válasz megállítható ott.