Base de conhecimento Código
Executar código em um servidor
Quando o código precisa de mais do que o seu dispositivo pode fornecê-lo - outro idioma, pacotes da internet, mais tempo - o Nymbot pode executá-lo em um servidor próprio, em um recipiente feito para essa execução.
Esta página foi traduzida automaticamente por conveniência. O original em inglês é a versão aplicável.
O que é um Server Run
Um servidor executa um contêiner novo, coloca seu código nele, executa-o, envia de volta o que imprimiu e destrói o contêiner. Para o equilíbrio Até o momento, ele realmente correu.
Há duas maneiras em: Correr em um servidor em um bloco de código, e o servidor é executado que o Nymbot pede enquanto ele repositório.
Para Python rápido ou JavaScript que não precisa de nada da internet, o gratuito Sandbox em seu dispositivo Geralmente é o suficiente.
Executar um Bloco de Código
Python, JavaScript, TypeScript, shell, Go, Rust, Java e Dart blocos de código em uma resposta têm um Correr em um servidor botão, sempre que os servidores estiverem disponíveis. Abre uma folha mostrando:
- O Imagem O código será executado,
- um limite de tempo para escolher: 1, 5 ou 15 minutos,
- o máximo que a execução pode custar, em créditos Pro, por esse limite de tempo,
- e, se o bate-papo tem arquivos anexados, uma caixa para incluí-los.
Pressão Corrida e a saída flui sob o bloco de código quando chega: o que imprimiu, o código de saída, quanto tempo durou, quaisquer arquivos que escreveu (cada um com um Salvação botão), e o que foi acusado.
parar O servidor é fechado imediatamente e você paga apenas pelo tempo que ele foi executado.
Em um Modo Anônimo O chat de execução é pago a partir dos créditos Pro da chave de lançamento, e os arquivos anexados nunca são incluídos.
Línguas e imagens
Cada idioma é executado em uma imagem, um sistema pronto com as ferramentas que a língua precisa.
| Imagem | Usado para | O que contém | Servidor |
|---|---|---|---|
| Python em | Python em | Python 3.12 com pip, venv, build tools e git; numpy, pandas e pytest já instalados | 0,5 CPU, 4 GB de memória |
| Node.js | JavaScript e TypeScript | Node.js 22 com npm, pnpm e yarn, mais Python 3, fazer e um compilador C++ | 0,5 CPU, 4 GB de memória |
| Poliglota | Shell, Go, Rust e Java | bash, ferramentas de construção de C e C++, Python 3, Node.js, Go, Rust com carga e Java 17 | 1 CPU, 6 GB de memória |
| Flutão | Dardo | Flutter 3.32 e Dart | 2 CPUs e 8 GB de memória |
O que custa
O tempo do servidor é cobrado em passos de 10 segundos, a partir de pedir o servidor para fechá-lo, com 10 segundos como o mínimo que uma execução pode custar.A taxa é o que o servidor desse tamanho custa Nymbot, mais uma margem, convertida em créditos Pro ao preço atual do Bitcoin.
- O preço é exibido na frente, como máximo. Você nunca é cobrado mais, e uma corrida que termina cedo custa menos.
- O máximo é mantido enquanto a corrida está em andamento. Quando ele termina, a carga real é tomada e o resto é liberado.
- Uma corrida que não começa é gratuita.
- Captura de despesas aplicável. Uma corrida que poderia passar por cima de um chat Cabeça de gastos Pergunte primeiro, da mesma forma que uma resposta faz.
Porque o preço segue o preço do Bitcoin, ele pode mover-se entre o momento em que você o vê e o momento em que você pressiona Run.
Um servidor em um repositório
Em um chat com a repositório Conectado, o Servidor em execução O chip permite que o Nymbot peça para executar comandos contra o seu código, como instalar as dependências e executar os testes após uma mudança.
Cada vez que o modelo quer executar algo, a resposta pausa e mostra um cartão com a imagem, o comando completo, o limite de tempo e o máximo que pode custar, além de qual repositório quando o bate-papo tem vários.
- Permita uma vez Corre contra o repositório com as edições que a resposta fez até agora, e o modelo recebe de volta o código de saída, o fim da saída e a lista de arquivos que o comando mudou.
- declínio Não custa nada, não custa nada, não custa nada, não custa nada.
Cada um é cobrado separadamente da resposta, e a resposta lista as corridas que fez e o que cada um custou. Cabeça de gastosVocê é recusado antes de ser solicitado.
Os arquivos de alterações de comando no servidor permanecem lá e são jogados fora com o contêiner. Eles não são escritos para o seu repositório. As alterações para o repositório vêm apenas das edições próprias da resposta.
O que é isolado
- Um recipiente fresco para cada corrida. Nada é compartilhado com outra corrida ou outra pessoa, e o contêiner é destruído quando a corrida termina, seja ela bem sucedida ou fracassada.
- Não há internet, exceto registros de pacotes. O contêiner pode baixar os pacotes de onde vêm: PyPI, npm e yarn, pub.dev e o armazenamento do Google para Flutter e Dart, o proxy do módulo Go, crates.io, Maven Central e GitHub para dependências de git e liberação de downloads.
- Apenas o que você escolhe entra. O código, os arquivos que você incluiu, ou os arquivos do repositório. Suas chaves, seu git token e seus chats nunca entram no repositório.
- O resultado é tratado como não confiável. Em um repositório, o que uma execução imprime é mostrado ao modelo marcado como dados externos, e é dito que nunca siga instruções dentro dele.
Limite
- Um servidor é executado ao mesmo tempo para cada chave. Iniciar um segundo enquanto o primeiro ainda está em andamento é recusado.
- Os limites de tempo de 1, 5 ou 15 minutos para um bloco de código. Uma execução de repositório pode solicitar até 15 minutos, ou 20 na imagem Flutter.
- Até 1 MB de código e até 200 arquivos anexos totalizando 20 MB.
- Um repositório de até 60 MB, embalado.
- Até 256 KB de saída. Qualquer coisa passada que é descartada, e a execução diz isso.
- Até 200 arquivos, 8 MB no total, devolvidos para salvar.
Os servidores podem ser desligados para manutenção, como um todo ou uma imagem de cada vez. Correr em um servidor O botão e o chip não são mostrados.
Tarefas do Pan
Em um bate-papo de repositório, o botão de lista de verificação na parte superior do bate-papo abre o Tarefas pan. Ele lista o que cada turn fez, o mais recente primeiro: os arquivos que ele leu e editou, compromete, alterações colocadas para sua revisão, e cada servidor executa com seu comando, imagem, tempo, custo e estado de saída. Um servidor executado esperando sua aprovação pode ser permitido ou rejeitado do painel, o mesmo que de seu cartão, e uma resposta em execução pode ser parada lá.