posible mejora PHP sync, asyn, promesas

tengo una centralita que me guarda las llamadas en json (proveedor) y ellos me dejan realizar peticiones al servidor y me devuelve un json.

He estado mirando y he visto que existen librerías tipo AMPHP o ReactPHP, pero no se si es lo que necesito. Alguien ha realizado esto algo parecido en PHP? Creo que se llaman PROMISES (creo), la idea es que cuando mi app detecte un cambio en la base datos remota me lo baje.

Y el problema es que tengo que integrarlo en php. El cliente me solicita que sea en PHP, para su manejo (supongo).

Ahora mismo lo que tengo es que cada 5 min se ejecute el script por cron, pero claro los problemas vienen cuando se reciben un aluvión de llamadas y has múltiples registros.

Tengo que empezar a tirar de arrays y “me ensucia” bastante el código…

Alguien me puede echar una mano? Gracias

No puedo poner código porque ahora mismo no tengo nada echo en cuanto a eso, lo que ahora tengo es un script simple que hace un select a la base de datos y si encuentra registros entre ultima fecha registro y ahora me los baja y los grabo, y en el servidor tengo un cron del php que se ejecutra cada X minutos.

EL PROBLEMA QUE ENCUENTRO ES QUE NO ESTÁ OPTIMIZADO (CREO), quiero decir que tengo uqe lanzar las peticiones cada X minutos y por lo que tengo entendido, existen otras opciones mas efectiva y productivas, que no se si se llaman promesas / async / sync…

O en su defecto, vosotros veis que llamar cada 5 minutos al script es mas productivo que tener “abierta la conexión y cuando entra un nuevo registro me grabe los datos en mi servidor local”?

Gracias

reactjs – mejora de un componente hecho con react

estoy creando un input con react, la verdad esta quedando bien, el estilo es lo deseado, pero si al llamar al componente mas de una vez, pueden notar que hay problemas a la hora de mover el span que simula ser el placeholder se queda quieto y no retoma lo que tiene que hacer, simplemente no reacciona y se queda en su lugar, les dejo el código acá

import React from 'react'
import styled, { css } from 'styled-components'
import PropTypes from 'prop-types'

const ContainerInput = styled.div`
  width: 15rem;
  height: 3rem;
  display: flex;
  align-items: center;
  border-radius: .5rem;
  position: relative;
  padding: .5rem;
  border: solid 2px #fff;
`;

const ContainerPlaceholder = styled.span`
  transition: all .3s;
  background-color: #121212;
  padding: .1rem;
  color: #ffffff88;
  ${props => props.move && css`
    transform: translate(0px, -130%);
    font-size: 12px
  `}
`;

const Input = styled.input`
  width: 93%;
  height: 100%;
  background-color: transparent;
  outline: none;
  border: none;
  position: absolute;
  color: #fff
`;

const InputComponent = ({placeholder, type, onChange, value, name}) => {

  const ( userFocus, setUserFocus) = React.useState(false)

  const handleFocus = () => {
    if(String(value).trim() !== "") return 
    setUserFocus(true)
  }

  const handleBlur = () => {
    if(String(value).trim() !== "") return 
    setUserFocus(false)
  }

  return (
    <ContainerInput>
      <ContainerPlaceholder move={userFocus}>
        {placeholder}
      </ContainerPlaceholder>
      <Input name={name} value={value} onChange={onChange} type={type} onFocus={handleFocus} onBlur={handleBlur} />
    </ContainerInput>
  )
}

InputComponent.prototype = {
  placeholder: PropTypes.string.isRequired,
  value: PropTypes.string.isRequired,
  type: PropTypes.string.isRequired
}

export default InputComponent

les faltan algunas mejora al componente, pero recien lo estoy empezando, les dejo un link de codesanbox para que puedan verlo en accion