Foros del Web » Programando para Internet » PHP »

Operaciones atómicas en PHP

Estas en el tema de Operaciones atómicas en PHP en el foro de PHP en Foros del Web. Hola a todos, me gustaría saber si es posible realizar operaciones atómicas con PHP, es decir, que se ejecuten todas o que no se ejecute ...
  #1 (permalink)  
Antiguo 25/01/2011, 03:55
 
Fecha de Ingreso: abril-2010
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Operaciones atómicas en PHP

Hola a todos, me gustaría saber si es posible realizar operaciones atómicas con PHP, es decir, que se ejecuten todas o que no se ejecute ninguna.

Por ejemplo, en mi caso necesito crear un usuario con ldap y una vez creado asignarlo a un grupo. Esto se realizaría con dos funciones diferentes, ldap_add() para añadir el usuario y ldap_mod_add() para añadir el usuario al grupo. Me gustaría que si la segunda operación falla, se deshiciese automáticamente la primera para que no se quedara el usuario añadido y sin grupo. Ya se que se puede hacer manualmente comprobando si la segunda operacion falla y borrando el usuario con ldap_delete(), pero ¿y si por alguna razón ldap_delete() también fallara?

Sólo quiero saber si PHP ofrece soporte para las operaciones atómicas, aunque si las ofrece, también es posible que no se pueda aplicar en operaciones sobre servidores remotos como las operaciones con ldap.

Gracias por vuestras aportaciones.
  #2 (permalink)  
Antiguo 25/01/2011, 11:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Operaciones atómicas en PHP

Ese tipo de operaciones las brinda tu RDBMS, a mi conocimiento LDAP no tiene tal soporte, por lo cual vas a tener que hacerlo de esa forma y estar comprobando los resultados, si ldap_delete falla, mandas un mensaje de alerta para que sea borrado manualmente.

Saludos.

Etiquetas: operaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:48.