Saltar para o conteúdo principal
Versão: 20

Utilizar processos web preemptivos

The 4D Web Server allows you to take full advantage of multi-core computers by using preemptive web processes in your compiled applications. You can configure your web-related code, including 4D tags and web database methods, to run simultaneously on as many cores as possible.

Para informações aprofundadas sobre o processo preventivo em 4D, por favor consulte Processos 4D preventivos seção na referência de linguagem4D.

Disponibilidade do modo preemptivo para os processos web

A tabela a seguir indica se o modo preventivo está utilizado ou está disponível, dependendo do contexto de execução:

4D ServerInterpretado (associado ao depurador)Interpretado (não associado ao depurador)Compilado
Servidor RESTcooperativopreemptivepreemptive
Servidor Webcooperativocooperativoparâmetro web
Servidor Web Servicescooperativocooperativoparâmetro web
4D remoto/usuário únicoInterpretadoCompilado
Servidor RESTcooperativopreemptive
Servidor Webcooperativoparâmetro web
Servidor Web Servicescooperativoparâmetro web

Escrever código servidor Web hilo seguro

Todo o código 4D executado pelo servidor deve ser hilo seguro se você quiser que seus processos web sejam executados em modo preventivo. When the Use preemptive processes option is checked in the Settings dialog box, the following parts of the application will be automatically evaluated by the 4D compiler:

Para cada um desses métodos e partes de código, o compilador irá verificar se as regras de segurança de threads são respeitadas, e retornará erros em caso de problemas. Para mais informações sobre as regras hilo seguro, por favor, consulte o parágrafo que escreve um método hilo seguro no capítulo Processos do manual de linguagem 4D.

Código web 4D hilo seguro

A maioria dos comandos 4D relacionados à Web e funções, métodos de banco de dados e URLs são hilo seguro e podem ser usados em modo preventivo.

Comandos 4D e métodos banco de dados

Todos os comandos 4D relacionados à Web são hilo seguro i.e.:

  • todos os comandos do tema Servidor Web,
  • todos os comandos do tema Cliente HTTP.

The web-related database methods are thread-safe and can be used in preemptive mode (see below): On Web Authentication, On Web Connection, On REST Authentication...).

Obviamente, o código executado por esses métodos também deve ser hilo seguro.

URLs do servidor Web

As seguintes URLs Web Server 4D são hilo seguro e podem ser usadas em modo preventivo:

  • 4daction/ (o método chamado projeto também deve ser hilo seguro)
  • 4dcgi/ (os métodos banco de dados chamados também devem ser hilo seguro)
  • 4dwebtest/
  • 4dblank/
  • 4dstats/
  • 4dhtmlstats/
  • 4dcacheclear/
  • rest/
  • 4dimgfield/ (gerado por PROCESS 4D TAGS para solicitação na web nos campos imagem)
  • 4dimg/ (gerada por PROCESS 4D TAGS para solicitações web em variáveis imagem)

Ícone de processo web preemptivo

O Explorador de execução e a janela de administração de 4D Server mostram ícones específicos para os processos preemptivos:

Tipo de processoÍcone
Método web preventivo