Problemas com exportador CSV

Bom dia.

Encontrei uma situação em que meu cliente executou o exportador para CSV do Tainacan e ele nunca terminou.

dia 04/08/2025 ele iniciou o processo e até hoje (19/08/2025) o processo não terminou.

ele executa até um determinado item e para. Depois aparece uma mensagem de “new request” ele reprocessa mais um tanto de item e para de novo. Nem sempre ele pare no mesmo item. Essa new request aparece mais ou menos depois da mesma quantidade de tempo (±10min). Imagino que seja pelo cron.

Isso impede que outros exports aconteçam.

aqui alguns pedaços dos logs relevantes:

```
[2025-08-04 12:18:19] New Request
[2025-08-04 12:18:19] Processing batch with 20 items, starting from item 0
[2025-08-04 12:18:19] Retrieving 20 items on page index: 1 , item index: 0, in collection 10
[2025-08-04 12:18:19] Retrieved data size: 20
[2025-08-04 12:18:20] Processado em 0.949255 segundos
[2025-08-04 12:18:20] Processing batch with 20 items, starting from item 20
[2025-08-04 12:18:20] Retrieving 20 items on page index: 2 , item index: 20, in collection 10
[2025-08-04 12:18:20] Retrieved data size: 20
[2025-08-04 12:18:21] Processado em 0.496756 segundos

[2025-08-04 12:18:28] Processing batch with 20 items, starting from item 540
[2025-08-04 12:18:28] Retrieving 20 items on page index: 28 , item index: 540, in collection 10
[2025-08-04 12:18:29] Retrieved data size: 20
[2025-08-04 12:18:29] Processado em 0.348220 segundos
[2025-08-04 12:31:25] New Request
[2025-08-04 12:31:25] Processing batch with 20 items, starting from item 0
[2025-08-04 12:31:25] Retrieving 20 items on page index: 1 , item index: 0, in collection 10
[2025-08-04 12:31:25] Retrieved data size: 20
[2025-08-04 12:31:25] Processado em 0.257863 segundos

[2025-08-19 11:32:04] New Request
[2025-08-19 11:32:04] Processing batch with 20 items, starting from item 0
[2025-08-19 11:32:04] Retrieving 20 items on page index: 1 , item index: 0, in collection 10
[2025-08-19 11:32:04] Retrieved data size: 20
[2025-08-19 11:32:04] Processado em 0.223914 segundos

[2025-08-19 11:32:13] Processing batch with 20 items, starting from item 820
[2025-08-19 11:32:13] Retrieving 20 items on page index: 42 , item index: 820, in collection 10
[2025-08-19 11:32:13] Retrieved data size: 20
[2025-08-19 11:32:14] Processado em 0.234862 segundos
```

EXPORTAR-CSV-TRAVADO-bg-exporter-6890a50b45348.zip (650.6 KB)

O comportamento é o mesmo que comentei nesse tópico também.

Estou usando as versões:

Blocksy
Blocksy Companion: 2.1.2
Tainacan: 0.21.15 (mas também testei na 0.21.16 com o mesmo comportamento em ambiente de teste)
Suporte Tainacan para Blocksy: 0.3.7

Vcs conseguem me dar uma luz? Porque não há nada nos logs do wordpress e só essas entradas de logs indicando que o processamento parou e recomeçou.

Muito obrigado,

Fred Marvila

bom dia @marvila você consegue ver se no log de erros do servidor tá gerando algum log de error?

pela sua mensagem tem alguma coisa fazendo com que paginação utilizada pela exportação seja resetada.

Obrigado, Vinicius.

Eu já tinha tentado olhar os logs desde o início, mas não tinha encontrado nada relevante.

Limpei os logs antigos e deixei habilitado desde o dia 18/08. Acabei esquecendo de revisar eles ontem quando abri a pergunta.

Encontrei alguns erros e um fatal error que pode justificar esse comportamento também. Esse fatal error apareceu apenas uma vez e está relacionado à classe `class-tainacan-rest-background-processes-controller.php`.

Esse fatel error é o mesmo que vi anteriormente no problema do bulk import (que ainda não funciona e pode ter relação com esse problema). Mas essa menção à classe é a primeira vez que vejo.

Logs

[18-Aug-2025 14:43:18 UTC] Erro de evento de reagendamento do cron para o gancho: tnc-bg_exporter_cron, código de erro: could_not_set, mensagem de erro: Não foi possível salvar a lista de evento do cron, dados: {"schedule":"tnc-bg_exporter_cron_interval","args":[],"interval":300} [18-Aug-2025 16:06:17 UTC] Erro de evento de reagendamento do cron para o gancho: tnc-bg_generic_process_cron_check, código de erro: could_not_set, mensagem de erro: Não foi possível salvar a lista de evento do cron, dados: {"schedule":"tnc-bg_generic_process_cron_interval","args":[],"interval":300}
[18-Aug-2025 20:49:01 UTC] PHP Warning: Attempt to read property "ID" on null in /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php on line 252
[18-Aug-2025 20:49:01 UTC] PHP Warning: Attempt to read property "action" on null in /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php on line 253
[18-Aug-2025 20:49:01 UTC] PHP Fatal error: Uncaught Error: Attempt to assign property "log" on null in /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php:253 Stack trace: #0 /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php(327): Tainacan\API\EndPoints\REST_Background_Processes_Controller->prepare_item_for_response() #1 /vol/www/public/wp-includes/rest-api/class-wp-rest-server.php(1292): Tainacan\API\EndPoints\REST_Background_Processes_Controller->update_item() #2 /vol/www/public/wp-includes/rest-api/class-wp-rest-server.php(1125): WP_REST_Server->respond_to_request() #3 /vol/www/public/wp-includes/rest-api/class-wp-rest-server.php(439): WP_REST_Server->dispatch() #4 /vol/www/public/wp-includes/rest-api.php(459): WP_REST_Server->serve_request() #5 /vol/www/public/wp-includes/class-wp-hook.php(324): rest_api_loaded() #6 /vol/www/public/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #7 /vol/www/public/wp-includes/plugin.php(565): WP_Hook->do_action() #8 /vol/www/public/wp-includes/class-wp.php(418): do_action_ref_array() #9 /vol/www/public/wp-includes/class-wp.php(818): WP->parse_request() #10 /vol/www/public/wp-includes/functions.php(1342): WP->main() #11 /vol/www/public/wp-blog-header.php(16): wp() #12 /vol/www/public/index.php(17): require('...') #13 {main} thrown in /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php on line 253
[19-Aug-2025 11:37:39 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php:410) in /vol/www/public/wp-includes/rest-api/class-wp-rest-server.php on line 1896 [19-Aug-2025 11:37:39 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php:410) in /vol/www/public/wp-includes/rest-api/class-wp-rest-server.php on line 1896 [19-Aug-2025 11:37:39 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php:410) in /vol/www/public/wp-includes/rest-api/class-wp-rest-server.php on line 1896 [19-Aug-2025 11:37:39 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php:410) in /vol/www/public/wp-includes/rest-api/class-wp-rest-server.php on line 1920 [19-Aug-2025 11:40:52 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php:410) in /vol/www/public/wp-includes/rest-api/class-wp-rest-server.php on line 1896 [19-Aug-2025 11:40:52 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php:410) in /vol/www/public/wp-includes/rest-api/class-wp-rest-server.php on line 1896 [19-Aug-2025 11:40:52 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php:410) in /vol/www/public/wp-includes/rest-api/class-wp-rest-server.php on line 1896 [19-Aug-2025 11:40:52 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /vol/www/public/wp-content/plugins/tainacan/classes/api/endpoints/class-tainacan-rest-background-processes-controller.php:410) in /vol/www/public/wp-includes/rest-api/class-wp-rest-server.php on line 1920 [19-Aug-2025 11:48:26 UTC] Erro de evento de reagendamento do cron para o gancho: tnc-bg_generic_process_cron, código de erro: could_not_set, mensagem de erro: Não foi possível salvar a lista de evento do cron, dados: {"schedule":"tnc-bg_generic_process_cron_interval","args":[],"interval":300} [19-Aug-2025 12:26:53 UTC] Erro de evento de reagendamento do cron para o gancho: tnc-bg_import_cron_check, código de erro: could_not_set, mensagem de erro: Não foi possível salvar a lista de evento do cron, dados: {"schedule":"tnc-bg_import_cron_interval","args":[],"interval":300} [20-Aug-2025 05:25:09 UTC] Erro de evento de reagendamento do cron para o gancho: tnc-bg_generic_process_cron_check, código de erro: could_not_set, mensagem de erro: Não foi possível salvar a lista de evento do cron, dados: {"schedule":"tnc-bg_generic_process_cron_interval","args":[],"interval":300}
[20-Aug-2025 06:36:29 UTC] PHP Warning: Array to string conversion in /vol/www/public/wp-content/plugins/tainacan-blocksy/inc/plugin.php on line 48 [20-Aug-2025 07:17:32 UTC] PHP Warning: Array to string conversion in /vol/www/public/wp-content/plugins/tainacan-blocksy/inc/plugin.php on line 48

Obrigado!

@mateus.m.luna Este é o último tópico em que encontrei algumas informações extras nos logs. O caso do bulk edit eu não encontro entradas nos logs, mas me parece que estão relacionados os problemas com o bulk edit e o exporter.

Se puder me dar uma luz do que posso fazer para depurar o problema, eu agradeço.

@vnmedeiros consegue dar uma olhada nisso?

Olá, pessoal,

Este tópico me lembrou de um problema que observei um tempo atrás com o Tainacan e achei que valia a pena compartilhar.

Eu tive um cenário bem parecido em uma instalação que estava no wordpress.com. A solução foi migrar o site para a Hostinger. Assim que a migração foi concluída, o problema desapareceu e tudo passou a funcionar perfeitamente.

Verifiquem se a hospedagem de vocês possui alguma limitação para execução de tarefas agendadas (WP-Cron). Em todas as instalações que administro fora do wordpress.com, nunca mais vi esse erro acontecer.

Espero que essa informação seja útil!

Obrigado, Vinícius pela ideia.

Contudo, não posso mover esse site de servidor. Ele está no servidor interno do cliente e foi feito em NGINX com configuração igual à que uso em outros sites. Inclusive no meu servidor de testes a configuração é bem parecida e o problema também acontece, permitindo um trabalho de depuração melhor do que fazer em produção :wink:

Também acho que pode ser algo relacionado ao servidor, mas como não tem uma mensagem de erro sequer nos logs e como o tainacan funciona quase perfeitamente nas outras partes do site, eu não consigo depurar o problema e identificar a causa, mesmo que seja alguma configuração no servidor.

Só sei que nao é limitação de Cron, porque vejo as tarefas reiniciando a cada 15 min ±. Então o cron funciona e as tarefas rodam por N itens, em que N pode ser qualquer valor, de 1 a 500, por ex.

Agradeço se alguém mais tiver ideias sobre o caso :wink:

Obrigado!