База на знаење Кодот
Извршување на код на сервер
Кога на кодот му е потребно повеќе отколку што може да му го даде уредот – друг јазик, пакети од интернет, повеќе време – Nymbot може да го изврши на свој сервер, во контејнер направен за тоа.
Оваа страница е машински преведена за погодност. Англискиот оригинал е верзијата што се применува.
Што е Server 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, make и C++ компилатор | 0.5 CPU, 4 GB меморија |
| Полиглот | Shell, Go, Rust и Java | bash, C и C++ градежни алатки, Python 3, Node.js, Go, Rust со товар и Java 17 | 1 CPU, 6 GB меморија |
| Флутер | Дарт | Flutter 3.32 и Dart | 2 процесори, 8 GB меморија |
Што чини
Времето на серверот се наплаќа во чекори од 10 секунди, од барање за серверот да го затворите, со 10 секунди како најмалку трчање може да чини.
- Цената е прикажана на предната страна, како максимална. Никогаш не ви се наплаќа повеќе, а трката која завршува порано чини помалку.
- Максимумот се одржува додека трката продолжува. Кога ќе заврши, вистинскиот товар е земен, а остатокот е ослободен.
- Трчањето кое не започнува е бесплатно.
- Се применуваат капки за трошоци. Трчање кое би можело да помине низ чадот Потрошувачка на главата Прашајте прво, исто како и одговорот.
Бидејќи цената го следи цената на Биткоин, може да се движи помеѓу моментот кога ќе го видите и моментот кога ќе притиснете Run.
Серверот работи во репозиториум
Во еден чат со складиште поврзани, на Серверот тече чипот им овозможува на Nymbot да побара да извршуваат команди против вашиот код, како што се инсталирање на зависностите и извршување на тестовите по промена.
Секој пат кога моделот сака да изврши нешто, одговорот паузира и покажува картичка со сликата, комплетната команда, временскиот лимит и колку што може да чини, плус кој депозитар кога разговорот има неколку.
- Дозволете еднаш Излегува против репозиториумот со уредувањата што го направил одговорот досега, а моделот го добива назад излезниот код, крајот на излезот и листата на датотеки што ја смени командата.
- намалување Ништо не работи и не чини ништо. – Одговорот продолжува без него.
Секој од нив се наплаќа одделно од одговорот, а одговорот ги набројува извршените извршувања и што чини секој од нив. Потрошувачка на главатаТоа е одбиено пред да ве прашаат.
Фајловите со промени на командата на серверот остануваат таму и се фрлаат заедно со контејнерот. Тие не се напишани во вашиот репозиториум. Промените во репозиториумот доаѓаат само од сопствените уреди на одговорот.
Што е изолирано
- Контејнер за секое трчање. Ништо не е споделено со друго трчање или со друго лице, а контејнерот е уништен кога трчањето завршува, без разлика дали е успешно или неуспешно.
- Нема интернет освен пакетите за регистрација. Контејнерот може да се преземе од местата каде пакетите доаѓаат од: PyPI, npm и yarn, pub.dev и складирањето на Google за Flutter и Dart, прокси модулот Go, crates.io, Maven Central и GitHub за git зависности и ослободување на преземања.
- Само она што го избравте влегува. Кодот, датотеките што сте ги вклучиле, или датотеките на складиштето. Вашите клучеви, вашиот git токен и вашите разговори никогаш не влегуваат во контејнерот.
- Излезот се третира како недоверлив. Во репозиториумот, она што изведува се прикажува на моделот означен како надворешни податоци и му се вели никогаш да не ги следи инструкциите во него.
Ограничувања
- Еден сервер работи во исто време за секој клуч. Започнување на вториот додека првиот се уште е во тек е одбиен.
- Временски ограничувања од 1, 5 или 15 минути за блок од код. Репозиториумот може да побара до 15 минути, или 20 на сликата Flutter.
- До 1 MB код и до 200 приложени датотеки со вкупно 20 MB.
- Репозиториум до 60 MB, пакуван.
- До 256 KB на излез. сè што е минато што е фрлено, а трчањето вели така.
- До 200 датотеки, вкупно 8 MB, се враќаат за зачувување.
Серверот може да се исклучи за одржување, како целина или една слика во исто време. Возење на серверот копчето и чипот не се прикажани.
Задачите на панелот
Во разговор за складиште, копчето за контролна листа на врвот на разговорот го отвора Задачите Панел. Тој го набројува она што секој потег го направил, најновиот прв: датотеките што ги прочитал и уредувал, ангажира, промени поставени за вашиот преглед, и секој сервер работи со својата команда, слика, време, цена и излез статус. Серверот работи чекајќи за вашето одобрување може да биде дозволено или одбиено од панелот, исто како и од неговата картичка, и работи одговор може да се запре таму.