WP todas as importações e WPML, problema de synchronization de estoque durante o trabalho do cron

Estou usando WP todas as importações para atualizar o estoque de produtos do WooCommerce. WPML está instalado, 2 idiomas, apenas produtos variables, todos duplicados. Quando eu executar manualmente a importação do botão “executar importação” do gerenciador de importação, tudo funciona de forma excelente. O estoque de produtos de variação está bem atualizado, para a linguagem principal do produto e duplicado. MAS, quando eu ativar a mesma importação de um trabalho CRON, somente o estoque de variação de produtos de idioma principal é atualizado. O estoque duplicado de produtos permanece inalterado. Breve video do processo aqui:

http://moroccanye.cluster011.ovh.net/stock/DEBUG_STOCK_CRON_SOFIA_SYNC_WPML.mov

Parece que se a opção “Aumentar velocidade ao desabilitar a chamada wp_insert_post em wp_insert_post durante a importação “. foram ativados automaticamente para trabalhos CRON.

Qualquer idéia para forçar esta ação ou para forçar a salvação / atualização / produtos duplicados e variações após / durante a importação para afetar produtos duplicados seria apreciada.

Solutions Collecting From Web of "WP todas as importações e WPML, problema de synchronization de estoque durante o trabalho do cron"

Assim como a maioria dos problemas em que trabalho, não conheço a solução até eu fazer algum trabalho para descobrir. Este é um caminho a seguir para descobrir o caminho para o fundo desse problema.

Há alguns fundamentos para cobrir antes de qualquer outra coisa:

  • Se você tiver certeza de que as chamadas do_action estão sendo ignoradas, você verificou para garantir que os problemas com os dados sejam os problemas que você esperaria que o do_actions não acontecesse? Se esse for o problema, então você precisa restabelecer as chamadas do_action.
  • Você precisa descobrir se a importação funciona a partir da linha de comando. Se o fizer, então você sabe que o cron setup é o problema. Mas o problema não pode ser relacionado ao cron. A execução na linha de comando irá revelar o resultado para isso.
  • Você já examinou o log de erro php e o cron log, se houver um, para pistas? Se não há erros lá, isso é ruim e deve haver. Essa seria a primeira coisa que eu corrigiria. Mantenho blocos de código para ativar e desativar relatórios de erros dependendo da situação;
  • Tem certeza de que a importação executada pelo cron é a mesma importação executada pelo navegador?
  • O motivo para fazer essa pergunta é o procedimento para solução de problemas é muito diferente, dependendo de uma condição.
  • Quem desenvolveu a importação e que suporte você pode obter com elas?

Se o cron e o navegador executam exatamente os mesmos programas, existem apenas algumas áreas onde o problema poderia ser:

  1. A parte da importação para o segundo idioma pode depender das variables ​​do sistema que estão disponíveis apenas no modo servidor web , e não da linha de comando. Exemplos são $ _POST, $ _GET, $ _SESSION e HTTP.

  2. As configurações php.ini para a linha de comando podem desativar as coisas permitidas pelo php.ini usado para a edição baseada na web. Um exemplo comum são tags abertas curtas permitidas em php baseado na web, mas não na linha de comando, mas há muitas coisas que podem ser. A maneira mais fácil de verificar é produzir a saída phpinfo () do navegador e da linha de comando e comparar os resultados para encontrar as diferenças. Se houver diferenças, você pode apenas ajustar o php.ini em vigor para o cron e estar todo configurado. Talvez seja necessário fazer alterações no programa para que ele seja executado com a linha de comando configurada da maneira que é, dependendo das configurações envolvidas e do seu access ou falta de access aos arquivos php.ini para edição.

  3. PERMISSÕES A conta que executa o programa para o servidor web pode ter permissions que a conta que está executando a partir da linha de comando não possui. Seguindo com certeza quais contas estão sendo executadas, o php pode ser feito executando a function php posix_getpwuid (posix_geteuid ()).

Se os programas de importação executados pelo cron são diferentes dos executados pelo navegador, você ainda pode começar a olhar para os itens que eu listei acima, mas talvez você tenha que olhar para todo o programa e o ambiente do sistema para rastrear a causa desse problema.

Se você passar por tudo isso, você estará perto de corrigi-lo se ainda não for corrigido. Por favor, informe-nos sobre o problema e não hesite em fazer qualquer pergunta que possa ter.