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, consulte a seção Processos Preemptivos.
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 Server | Interpretado (asociado al depurador) | Interpretado (não associado ao depurador) | Compilado |
---|---|---|---|
Servidor REST | cooperativo | preemptive | preemptive |
Servidor Web | cooperativo | cooperativo | configuração web |
Servidor Web Services | cooperativo | cooperativo | configuração web |
4D remoto/usuário único | Interpretado | Compilado |
---|---|---|
Servidor REST | cooperativo | preemptive |
Servidor Web | cooperativo | configuração web |
Servidor Web Services | cooperativo | configuração web |
- Servidor REST: gestiona las funciones de clase del modelo de datos ORDA
- Servidor web: maneja las plantillas web, 4DACTION y los métodos base
- Servidor de serviços Web: trata dos pedidos SOAP
- web setting means that the preemptive mode depends on the scalable sessions status:
- if scalable sessions are enabled, the preemptive mode is automatically used for web and web service processes.
- if scalable sessions are not enabled:
- for web processes, the Use preemptive processes option is taken into account.
- for web service processes (server or client), preemptive mode is supported at method level.
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. Cuando el modo apropiativo está activo, las siguientes partes de la aplicación serán evaluadas automáticamente por el compilador 4D:
-
Todos os métodos bases relacionados com a Web:
On Web Authentication
On Web Connection
On REST Authentication
On Mobile App Authentication
eOn Mobile App Action
-
El método proyecto
compilador_web
(independientemente de su propiedad real "Modo de ejecución"); -
Basicamente, qualquer código processado pelo comando
PROCESS 4D TAGS
no contexto Web, por exemplo, por páginas .shtml -
Todo método proyecto con el atributo "Disponible a través de etiquetas 4D y URLs (
4DACTION
, etc.) -
Triggers para as tabelas com o atributo "Expor como recurso REST"
-
funciones de clase del modelo de datos ORDA llamadas vía REST
For each of these methods and code parts, the compiler will check if the thread-safety rules are respected, and will return errors in case of issues.
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 los comandos 4D relativos a la web son hilo seguro, es decir:
- todos los comandos del tema Servidor Web,
- todos los comandos del tema Cliente HTTP.
Los métodos base relacionados con la web son hilo seguro y pueden utilizarse en modo apropiativo (ver arriba): 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/ (el método proyecto llamado también debe ser hilo seguro)
- 4dwebtest/
- 4dblank/
- 4dstats/
- 4dhtmlstats/
- 4dcacheclear/
- rest/
- 4dimgfield/ (generado por
PROCESS 4D TAGS
para la petición web en los campos imagen) - 4dimg/ (generado por
PROCESS 4D TAGS
para la petición web en las variables imagen)
Í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 |