Base di cunniscenza Codice
Esecuziun di codice supra un servitore
Quandu u codice hà bisognu di più di ciò chì u vostru disprughju pò dà — un'altri lingua, pacchetti da internet, più tempu — Nymbot pò esecutal-lu nantu à un servitore propiu, in un cuntenitore fatta per quella esecuzione.
Questa pagina hè tradutta in macchina per comodità. L'uriginale in inglese hè a versione chì si applica.
Chì hè un serviziu in marcia
Una corsa di serviziu cumencia un cuntainitore novu, ci mette u vostru codici, u fà andà, mandà torna ciò chì hà stampatu è distruisce u cuntainitore. Vedite u massimu chì pò custà prima chì cumencia, è pagate da u vostru Pro bilanciamentu per u tempu chì hà veramente cursù.
Ci sò dui modi d'entrare: Esecuta nantu à u servitore in un bloccu di codici, è u servitore u ferma Nymbot chiede mentre travaglià in un repository.
Per un Python o JavaScript rapidu chì ùn hà bisognu di nente da internet, u gratuitu sandbox nantu à u vostru apparecchiu hè di solito sufficiente.
Esecutendu un bloccu di codice
I blocchi di codici Python, JavaScript, TypeScript, shell, Go, Rust, Java è Dart in una risposta anu un Esecuta nantu à u servitore buttone, ogni volta chì i corse di u servitore sò dispunibili. Si apre una foglia chì mostra:
- u imaghjina u codice u marche nantu à,
- un limite di tempu per sceglie: 1, 5 o 15 minuti,
- lu più di u corsa pò custà, in crediti Pro, per quell'ultimu limite di tempu,
- è, si a chat hà fili attaccati, una baxa per include l'ellu. Ellu andanu solu si vù tù checkate u.
Preme Corre è l'output chì si riceve sottu à u bloccu di codice mentre chì arriva: ciò chì hà stampatu, u codice d'uscita, quantu tempu hà duratu, qualsìe file chì hà scrittu (ognunu cù un Salva butone), è ch'è stata fatturata.
Fermate finisce a corsa in qualsiasi puntu. U servitore hè chjesu fora subitu è vost pagate solu per u tempu chì hà funzionatu. Fermatu prima chì u servitore cumincia, ùn costa nenti.
In un Mode Anonimu a chat a corsa hè pagata cù i crediti Pro di a chìave di scartu, è i file attaccati ùn sò mai inclusi.
Lingue è immagini
Ogne lingua campa nantu à un'imaghjina, un sistema pronti à l'impiegu cù i strumenti chì quella lingua hà bisognu. Imaghjini più grandi campanu nantu à servitori più grandi è custanu di più per minutu.
| Immagine | Usatu per | Cosa contine | Servitore |
|---|---|---|---|
| Python | Python | Python 3.12 cù pip, venv, strumenti di build è git; numpy, pandas è pytest digià installati | 0.5 CPU, 4 GB di memoria |
| Node.js | JavaScript, TypeScript | Node.js 22 cù npm, pnpm è yarn, più Python 3, make è un compilatore C++ | 0.5 CPU, 4 GB di memoria |
| Poliglotta | Shell, Go, Rust, Java | bash, gli strumenti di costruzione C è C++, Python 3, Node.js, Go, Rust cù cargo, è Java 17 | 1 CPU, 6 GB di memoria |
| Flutter | Darte | Flutter 3.32 è Dart | 2 CPU, 8 GB di memoria |
Quanto costa
U tempu di u serviziu hè fatturatu in passi di 10 secondi, da a dumanda di u serviziu à a chiusura di u stessu, ellu avendu 10 sondi cum'è u minimu chì una esecuzione pò custà. A tariffa hè u prezzu di u serviziu di quella dimensione Nymbot, più un margine, cunvertitu in crediti Pro à u prezzu attuale di u Bitcoin.
- U prezzu hè mostratu in anticipu, cum'è un massimu. Hè tuttu u limiti di tempu à quellu ritmu.Ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù
- U massimu hè mantenutu mentra a corsa hè in corso. Quand si finisce, a carica vera viene presa è u restu hè liberatu.
- Una corsa chì ùn riesce à partì hè gratuita.
- I plafonni di spesa sò applicati. Una corsa chì puderia andà oltre quella di una chat capu di spesa dumanda prima, cum'è una risposta fà.
Parchì u prezzu seguia u prezzu di u Bitcoin, hè possibile chì si mova trà u momentu in cui u vede è u momentu in chì vi pressate Run. S'ellu hè assuntu, micca nimene ùn funziona: a foglia si apre torna cù u novu prezzu per u vostru verificazione.
U serviziu corre in un ripositoriu
In un chat cù un repository connessu, u Servitore ferma chip permette à Nymbot di chiede di esegue comandi contru u vostu codici, cum'è l'installazione di e dipendenza è l'esecuzione di i test dopu à una cambiamentu. Hè disattivu finchè ùn u bậtate vo, per chat.
Ogni volta chì u mudellu vole eseguti qualcosa, a risposta si ferma è mostra una carta cù l'imaghjina, a cumanda completa, u limite di tempu è u massimu chì pò custà, più u repoziu riu quando u chat hà parechji, più u repoziu riu quando u chat hà parechji. Niente ùn si eseguta finchè ùn rispondite micca:
- Permette una volta aghja quella lệnha. Essa si eseghice contru u repository cù e modifiche chì a rispesta hà fatte finu à quì, è u mudellu riceve u codice d'uscita, a fine di l'output è a lista di i file chì a lệnha hà cambiata. Dopu, a rispesta continua.
- Rifiutà nun consuma nente è ùn costa nente. A rispesta continua senza di ella.
Ogni corsa dumanda. Ciascuna hè fatturata separatamente da a risposta, è a risposta lista e corse chì hà fatta è u prezzu di ciascuna. S'una corsa pudessia andà oltre u chat's capu di spesa, hè rifiutatu prima chì vi si chiesce.
I file è i cumandi chì cambianu u servitore restanu impattati è sò eliminati cù u cuntainitore. Ùn sò micca scritti in u vostru ripustoriu. I cambiamenti in u ripustoriu venenu solu da i propi edi di a rispusta.
Ch'è hè isolatu
- Un cuntenitore novu per ogni corsa. Rien ùn hè spartu cù un altru esecuzione o una altra persona, è u cuntenitore hè distruttu quandu l'esecuzione finisce, sia chì hà riuccitu sia chì hà fallitu.
- Pas d'internet eccettu i registri di pacchetti. U cuntainitore pò scaricà da i posti da i quali venenu i pacchetti: PyPI, npm è yarn, pub.dev è u storage di Google per Flutter è Dart, u proxy di u modul Gi, crates.io, Maven Central, è GitHub per i git dipendenti è i scaricamenti di rilascio. Pare ch'ellu pò solu scaricà. Ellu ùn pò micca mandà nente à elli è ùn pò micca raggiungì nisun altru indirizzu.
- Sòlu ciò chì avete sceltu entra. U codice, i file chì avete inclusu, o i file di u repository. I vostri chì chì, u vostru token git è i vostri chat ùn entranu mai in u container.
- L'output hè trattatu cum'è micca fidatu. In un repozitoriu, ciò chì un esecuzione stampa hè mostratu à u mudellu marcatu cum'è fora di i dati, è hè ditte à ùn seguì mai l'istruzzioni toccatu in ise.
Limiti
- Un servitore marche à u tempu per ogni chìave. L'avviamentu di un sicundu mentre u primu hè ancorsu in funzione hè rifiutatu.
- Limiti di tempu di 1, 5 o 15 minuti per un bloccu di codici. Una corsa di un repository pò dumandà finu à 15 minuti, o 20 nantu à l'imaghjina Flutter.
- Ùn 至 1 MB di codice, è ùn 至 200 file attaccati in tuttu u totale di 20 MB.
- Un repozitoriu di至 60 MB, compressu.
- Fin'à 256 KB di l'output. Tutte u ciò chì supera impastu hè scartatu, è a corsa u dice.
- Fino à 200 file, 8 MB in tìtu, rimandati per salvà.
I servizii di u server ponnu esse scunnessi per a manutenzione, in tuttu u bloccu o una imaghjina à a volta. Quandu sò scunnessi, u Esecuta nantu à u servitore U buttone è a chip ùn sò micca mostrati.
U pannellu di i compiti
In un chat di un repozituriu, u buttone di a lista di verificazione in cima à u chat apre a so Taski U pane. Ellu lista ciò chì ogni turnu hà fattu, u più novu prima: i file chì hà lettu è editatu, i commit, i cambiamenti preparati per a vostra revisione, è ogni esecuzione di u servitore cù u so comandamentu, l'imaghjine, u tempu, u coste è u statu d'uscita. Una esecuzione di servitore in attesa di a vostra approvazione pò esse permessa o rifiutata da u pane, u stessu chì da a so carta, è una risposta in esecuzione pò esse fermata lì. U schema resta cù a chat dopu chì u travagliu hè finitu.