Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Chamada de método assíncrono PHP no framework Yii


Normalmente, a solução para esse tipo de problema seria integrar um barramento de mensagens em seu sistema. Você pode considerar um produto como Beanstalkd . Isso requer a instalação de software em seu servidor. Suponho que essa sugestão seria chamada de "usar uma biblioteca externa".

Se você pode acessar o servidor de implantação e pode adicionar cronjob (ou talvez um sysadmin pode), você pode considerar um cronjob que faz uma chamada php-cli para um script que lê trabalhos de uma fila de trabalhos em seu banco de dados que é preenchido pelo controlador método.

Se você não conseguir instalar o software no servidor que está executando, considere usar uma solução SAAS como Iron.io a> para hospedar a funcionalidade de barramento para você. Iron.io está usando o que é chamado de fila push . Com uma fila push, o barramento de mensagens executa ativamente uma solicitação (push) aos ouvintes registrados com o conteúdo da mensagem. Isso pode funcionar, pois não exige que você faça uma solicitação de curl.

Se nenhuma das opções acima for possível, suas mãos estão atadas. Outro post bastante relevante sobre o assunto:Scalable, Delayed PHP Processing