База знания кодът
Изпълнение на код на сървър
Когато кодът се нуждае от повече, отколкото устройството ви може да му осигури - друг език, пакети от интернет, повече време - Nymbot може да го изпълни на собствен сървър, в контейнер, създаден за това едно изпълнение.
Тази страница е машинно преведена за удобство. Английският оригинал е версията, която се прилага.
Какво е сървър Run
Сървърът стартира нов контейнер, поставя вашия код в него, го изпълнява, изпраща обратно това, което е отпечатано и унищожава контейнера. За баланса За времето, в което всъщност се е случило.
Има два начина в: Изтегляне на сървър на блок от код и сървърът работи, за който Nymbot иска, докато работи в хранилище.
За бърз Python или JavaScript, който не се нуждае от нищо от интернет, безплатният Sandbox на вашето устройство Обикновено това е достатъчно.
Изпълнение на блок код
Python, JavaScript, TypeScript, shell, Go, Rust, Java и Dart кодови блокове в отговор имат Изтегляне на сървър бутон, всеки път, когато сървърите са на разположение. Той отваря лист, показващ:
- на Образът Кодът ще се изпълнява,
- време за избор: 1, 5 или 15 минути,
- най-много може да струва изпълнението, в Про кредити, за този срок,
- и, ако чатът има прикачени файлове, кутия, за да ги включите.
Пресата бягане и изходът преминава под блока на кода, когато пристигне: какво е отпечатано, кода за излизане, колко време е работил, всички файлове, които е написал (всеки с Спасете бутон), и какво е било обвинено.
Спрете сървърът се затваря незабавно и плащате само за времето, през което работи.
В един Анонимна мода Чатът се заплаща от Pro кредитите на клавиша за хвърляне и прикачените файлове никога не се включват.
Езици и изображения
Всеки език работи на изображение, готови система с инструментите, които езикът се нуждае. по-големи изображения се изпълняват на по-големи сървъри и струват повече на минута.
| Изображение | Използва се за | Какво съдържа | сървър |
|---|---|---|---|
| Пийтън | Пийтън | Python 3.12 с pip, venv, build tools и git; numpy, pandas и pytest вече инсталирани | 0.5 CPU, 4 GB памет |
| Node.js | JavaScript и TypeScript | Node.js 22 с npm, pnpm и yarn, плюс Python 3, направи и C++ компилатор | 0.5 CPU, 4 GB памет |
| Полиглотът | Shell, Go, Rust и Java | bash, C и C++ инструменти за изграждане, Python 3, Node.js, Go, Rust with cargo и Java 17 | 1 процесор, 6 GB памет |
| фланел | Дарт | Flutter 3.32 и Dart | 2 процесора, 8 GB памет |
Какво струва
Времето на сървъра се начислява в стъпки от 10 секунди, от искането на сървъра до затварянето му, с 10 секунди, тъй като най-малко едно изпълнение може да струва.
- Цената е посочена отпред, като максимална. Никога не ви се таксува повече, а бягането, което завършва рано, струва по-малко.
- Максимумът се задържа, докато бягането продължава. Когато приключи, действителното зареждане се взема и останалата част се освобождава.
- Едно бягане, което не започва, е безплатно.
- Прилагат се разходни капачки. Едно бягане, което може да премине през чат Разходване на глави Първо попитайте, по същия начин и отговорът.
Тъй като цената следва цената на Bitcoin, тя може да се движи между момента, в който я видите, и момента, в който натиснете Run.
Сървърът работи в хранилище
В един чат с хранилище Връзката, на сървърът работи Чипът позволява на Nymbot да поиска да изпълнява команди срещу вашия код, като например инсталиране на зависимостите и изпълнение на тестовете след промяна.
Всеки път, когато моделът иска да изпълни нещо, отговорът спира и показва карта с изображението, пълната команда, ограничението на времето и максимума, който може да струва, плюс кой хранилище, когато чатът има няколко.
- Позволете си веднъж Извършва се срещу хранилището с редакциите, които отговорът е направил досега, и моделът получава обратно кода за изход, края на изхода и списъка с файловете, които командата е променила.
- намаляване Нищо не струва, нищо не струва, отговорът продължава без него.
Всеки от тях се таксува отделно от отговора, а отговорът изброява изпълненията, които е направил и колко струва всеки от тях. Разходване на главиТя е отхвърлена, преди да бъдете помолени.
Файловете с промяна на командата на сървъра остават там и се изхвърлят заедно с контейнера. Те не се записват във вашия депозитар. Промените в депозитаря идват само от собствените редакции на отговора.
Какво е изолирано
- Един контейнер за всяко движение. Нищо не се споделя с друго бягане или друго лице, а контейнерът се унищожава, когато бягането приключи, независимо дали е успешно или неуспешно.
- Няма интернет, с изключение на пакетите. Контейнерът може да изтеглите от местата, от които идват пакетите: PyPI, npm и yarn, pub.dev и Google съхранение за Flutter и Dart, Go модул прокси, crates.io, Maven Central и GitHub за git зависимост и пускане на изтегляния.
- Само това, което сте избрали, ще влезе. Кодът, файловете, които сте включили, или файловете на хранилището. Вашите ключове, вашият git токен и вашите чатове никога не влизат в контейнера.
- Изходът се третира като ненадежден. В репозиторията това, което отпечатва run, се показва на модела, маркиран като външни данни, и му се казва никога да не следва инструкциите вътре в него.
Ограниченията
- Един сървър работи по едно и също време за всеки ключ. Започването на втори, докато първият все още се движи, се отказва.
- Временни ограничения от 1, 5 или 15 минути за блок от код. Репозиторията може да изисква до 15 минути или 20 минути за изображението на Flutter.
- До 1 MB код и до 200 прикачени файла с обща стойност 20 MB.
- Репозиторий до 60 MB, опакован.
- До 256 KB изход. Всичко минало, което е паднало, и бягането казва така.
- До 200 файла, общо 8 MB, се връщат за съхранение.
Изпълнението на сървъра може да бъде изключено за поддръжка като цяло или като едно изображение наведнъж. Изтегляне на сървър Бутонът и чипът не се показват.
Задачите на панела
В чат за съхранение бутонът за контролен списък в горната част на чата отваря Задачите панел. Той изброява какво е направил всеки ъгъл, най-новото първо: файловете, които е прочел и редактирал, ангажименти, промени, направени за вашия преглед, и всеки сървър работи с командата, изображението, времето, цената и състоянието на излизане. Сървърът работи в очакване на одобрението ви може да бъде разрешен или отхвърлен от таблото, същото като от картата си, и изпълняващ се отговор може да бъде спрян там.