Saltar al contenido principal
Versión: v19

Uso de procesos web apropiativos

El servidor web de 4D le permite aprovechar al máximo los ordenadores multinúcleo utilizando procesos web apropiativos en sus aplicaciones compiladas. Puede configurar su código relacionado con la web, incluidas las etiquetas 4D y los métodos de base de datos web, para que se ejecute simultáneamente en tantos núcleos como sea posible.

Para obtener información detallada sobre los procesos apropiativos en 4D, consulte la sección Procesos 4D apropiativos del manual de lenguaje.

Disponibilidad del modo apropiativo para los procesos web

La siguiente tabla indica si el modo apropiativo se utiliza o está disponible, dependiendo del contexto de ejecución:

4D ServerInterpretado, proyecto (cliente conectado localmente)Interpretado, proyecto (sin cliente conectado localmente) o binarioCompilado
Servidor RESTcooperativoapropiativoapropiativo
Servidor Webcooperativocooperativoparámetro web
Servidor Web Servicescooperativocooperativoparámetro web
Legado RESTcooperativoparámetro webparámetro web
4D remoto/monopuestoInterpretadoCompilado
Servidor RESTcooperativoapropiativo
Servidor Webcooperativoparámetro web
Servidor Web Servicescooperativoparámetro web
Legado RESTcooperativoparámetro web

Escribir código servidor web hilo seguro

Todo el código 4D ejecutado por el servidor web debe ser hilo seguro si quiere que sus procesos web se ejecuten en modo apropiativo. Cuando la opción Utilizar procesos apropiativos está marcada en la caja de diálogo Parámetros, las siguientes partes de la aplicación serán evaluadas automáticamente por el compilador 4D:

  • Todos los métodos base relacionados con la web:

  • El método proyecto compilador_web (independientemente de su propiedad real "Modo de ejecución");

  • Básicamente todo código procesado por el comando PROCESS 4D TAGS en el contexto web, por ejemplo a través de páginas .shtml.

  • Todo método proyecto con el atributo "Disponible a través de etiquetas 4D y URLs (4DACTION, etc.)

  • Triggers para tablas con el atributo "Exponer como recurso REST"

  • funciones de clase del modelo de datos ORDA llamadas vía REST

  • Métodos proyecto con la propiedad "Servidor REST" marcada (llamadas REST heredadas)

Para cada uno de estos métodos y partes de código, el compilador comprobará si se respetan las reglas de seguridad de hilos, y devolverá errores en caso de que haya problemas. Para más información sobre las reglas hilo seguro, consulte el párrafo Escribir un método hilo seguro en el capítulo Procesos del manual de Lenguaje 4D.

Código web 4D hilo seguro

La mayoría de los comandos y funciones 4D relacionados con la web, los métodos base y las URL son hilo seguro y pueden utilizarse en modo apropiativo.

Comandos 4D y métodos base

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 abajo): On Web Authentication, On Web Connection, On REST Authentication...).

Por supuesto, el código ejecutado por estos métodos también debe ser hilo seguro.

URLs del servidor web

Las siguientes URLs 4D Web Server son hilo seguro y pueden ser utilizadas en modo apropiativo:

  • 4daction/ (el método proyecto llamado también debe ser hilo seguro)
  • 4dcgi/ (los métodos base llamados también deben 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)

Icono de proceso web apropiativo

Tanto el Explorador de ejecución como la ventana de administración de 4D Server muestran un icono específico para los procesos web apropiativos:

Tipo de procesoIcono
Método Web (proceso apropiativo)