Dúvida sobre conteúdo
[Concluído]
Olá Professor, poderia me dizer se terá em algum momento do curso JOBS com grandes cargas. Por exemplo de arquivos excel, e jogar os dados desse arquivo no BD. Que esse tipo de assunto me interessa muito e estou com grande dificuldade de colocar em prática de forma 100% seja local ou servidor, as minhas filas sempre falha por timeout ou outro tipo de problema e eu sinceramente ainda não entendi muito bem como funciona. No caso aqui uso o Laravel Excel pra ler os arquivo em chunk mas com JOBS.
Olá, João!
Tudo bem?
Anotado a ideia de trabalhar com algo que faça o I.O. em disco.
O seu timeout também pode ser relacionado a config do PHP, qual o seu setup?
Então professor, subi tudo pra o máx que consegui. Timeout = 0 que vi que talvez fosse algo como infinito ou algo do gênero. O que está acontecendo realmente é o Job está sendo executado logo após um tempo ele some se me dar nenhum erro nem na fails_jobs nem nas tabelas de log que fiz coloquei log em tudo.
E sobre a ideia é essa mesmo. fazer carga de grandes arquivos para o banco de dados, aqui eu tenho 4 Jobs:
1 - Job responsável por pegar o arquivo que foi feito o upload com TUS(resumable file uploads) https://tus.io/ e pegar somente a primeira coluna do arquivo (header), para que o usuário possa mapear as colunas.
2 - Job responsável por pega os dados do mapeamento feito pelo usuário, o arquivo e ler o arquivo juntamente com os dados do mapeamento e jogar esses dados em uma tabela genérica e atualiza o processo pra 3 etapa
3 - Responsável por pegar os dados da genérica e dar um insert na table principal
4 - Atualiza o status do processamento pra relatório que a ideia é que com esses dados, o usuário possa gerar vários tipos de relatórios
Porém está gargalando logo no segundo Job responsável por pegar os dados brutos, ele até inseri e tal. Mas dependendo do tamanho do arquivo para no meio do processo.
Está trabalhando com Docker?
Será necessário mudar as limitações default do arquivo php.ini
Professor pior que não, aqui as maq até mesmo dos programadores são bloqueadas pra isso seu eu pensar em rodar vai dar tela azul. É uma empresa de auditoria, então precisa ter todo esse esquema ai foi um parto pra liberar a extensão do VUE JS pro chrome.
Eu vou precisar rever isso, e no servidor a aplicação está dividindo o espaço com uma outra aplicação que está de pé a 8 anos quase com cerca de 800 pessoas acessando diariamente.
Eu vou rever o php.ini, mas acredito que o gargalo não esteja nele e sim na minha falta de experiência com filas e tudo mais.
Entendi, ambiente necessita de burocracia.
--
Como é um maquina compartilhada, usar Docker seria uma boa para vocês, porque cada projeto rodaria de forma independente (com recursos limitados por projeto, memória, cpu, disco e etc);
Sim professor, aqui é bem burocrático mesmo no quesito ambiente e ainda tem essa concorrência entre sistemas no mesmo servidor.
A provável solução que ainda não está 100% foi usar o Python invés de criar filas com chunks enormes a gente usa o Python com Pandas ele nem precisa de filas pois é só chamada de arquivo ele faz o processamento de uma base de 40k de linhas em 15 seg.
Mas como é algo que ainda estamos testando não posso dar total certeza assim que tivermos eu passo um feedback. Porém ainda sim é um conteúdo que necessito muito aprender e entender o que poderia melhorar,
Entendi amigo, qualquer coisa que precisar de mim, estou à disposição! :-)
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!