Comments (33)
I solved after add this code in app.yaml there
basic_scaling:
max_instances: 20
idle_timeout: 5m
from cei-crawler.
@skepticaldev sim haha sei como funciona, eu fiz um processo uma vez também o que ocasionou um custo elevado no firestore kkkk fiz um serviço que o app lia para buscar informações, só que eu errei, achei que o firestore retornava uma coleção como 1 solicitação, só que ao consultar a coleção ele executa uma solicitação para cada documento ai você já pode imaginar o estrago né kkkkk durante uma semana todos os dias tiveram 800 mil solicitações de leitura
from cei-crawler.
@skepticaldev sim haha sei como funciona, eu fiz um processo uma vez também o que ocasionou um custo elevado no firestore kkkk fiz um serviço que o app lia para buscar informações, só que eu errei, achei que o firestore retornava uma coleção como 1 solicitação, só que ao consultar a coleção ele executa uma solicitação para cada documento ai você já pode imaginar o estrago né kkkkk durante uma semana todos os dias tiveram 800 mil solicitações de leitura
hahaha complicado o firestore e excelente escala tanto que tu chega a perder de vista hahaha. Eu normalmente uso o emulator pra rodar os testes ontem mesmo rodei um que se eu tivesse subido pra produção acho que eu ia ter que vender um rim. Estava utilizando o trigger onwrite, até fiz a verificação para não atualizar caso não tivesse alteração do anterior para o seguinte. Mas quando eu fiz uma inserção em massa no db parece que ficaram algumas operações se sobrescrevendo e ficou um loop sem fim.
from cei-crawler.
Opa consegue resolver utilizando o req.query e obtendo o valor assim: let param= (req.query as any).param;
from cei-crawler.
@Menighin Quando eu usei pela primeira vez eu tinha dado fork e atualizei a versão do puppeteer não funcionou no cloud functions. Foi só dar um downgrade na versão do puppeteer que funcionou. A versão que eu estou usando e a 2.1.1. Ainda não vi se teve alguma alteração para versões mais novas. Mas o problema se não me engano é a compatibilidade do ambiente em que o cloud functions roda e as novas versões do chromium.
from cei-crawler.
@matheuspcunha lancei a versão 1.2.0
. Fiz rollback do puppeteer e parei de fazer o crawling em aba anonima.
Confere se resolveu pfv
from cei-crawler.
@Menighin Funcionou! 🎉
from cei-crawler.
@matheuspcunha se não me engano, esse erro acontece devido a quantidade de memória alocada pro Browser. Tenta passar esse parâmetro no options: --disable-dev-shm-usage
const ceiCrawlerOptions = {
puppeteerLaunch: {
args: ['--disable-dev-shm-usage']
},
};
Ou se preferir coloque a quantidade de memória que você desejar: '--shm-size=3gb'
from cei-crawler.
Oi @skepticaldev, estou com esse parâmetro já, no caso está assim:
from cei-crawler.
Hi, i'm get the same problem after deploy API to App Engine of Google Cloud.
How can I fix it?
from cei-crawler.
@matheusdalzot I was facing some issues using cloud functions, the problem was puppeteer version. In the last version released the puppeteer version was updated. The highest version working for me is 2.1.1. Try downgrade the version and see if it works.
from cei-crawler.
@matheuspcunha Por acaso voce também esta rodando em algum serviço do google? Eu tive alguns problemas também. A solução foi reduzir a versão.
from cei-crawler.
@skepticaldev, a minha versão do App Engine está funcionando normalmente. Está que tive o problema é na máquina local mesmo.
from cei-crawler.
Vocês falam português hehe eu resolvi depois de adicionar o código acima no app.yaml, estou utilizando o serviço do App Engine do GCloud.
Tentei outras soluções como subir ou descer a versão do purppeteer mas sem sucesso, e agora fui verificar na documentação sobre Timeout e cheguei nessa solução.
Espero que funcione para vocês
from cei-crawler.
@matheusdalzot vc tbm está utilizando a versão 1.1.0 do cei-crawler?
Estranho, no meu caso eu fui testar localmente e já deu este erro =(
from cei-crawler.
Vocês falam português hehe eu resolvi depois de adicionar o código acima no app.yaml, estou utilizando o serviço do App Engine do GCloud.
Tentei outras soluções como subir ou descer a versão do purppeteer mas sem sucesso, e agora fui verificar na documentação sobre Timeout e cheguei nessa solução.
Espero que funcione para vocês
Hahaha. Sim falamos. Show, no meu caso no cloud functions só reduzindo a versão mesmo. Fiz diversas pesquisas e todas elas era reduzindo a versão. Ainda não usei o App Engine mas quero migrar depois o projeto pra lá, como já estou quase finalizando no functions vou terminar primeiro.
from cei-crawler.
@matheusdalzot vc tbm está utilizando a versão 1.1.0 do cei-crawler?
Estranho, no meu caso eu fui testar localmente e já deu este erro =(
Como eu tive esses problemas no functions eu dei um fork e aproveitei para fazer algumas alterações para o meu projeto então não estou utilizando especificamente essa versão.
from cei-crawler.
@matheusdalzot vc tbm está utilizando a versão 1.1.0 do cei-crawler?
Estranho, no meu caso eu fui testar localmente e já deu este erro =(
No meu aplicativo está cei-crawler version 0.2.3 no arquivo package-lock.json
from cei-crawler.
Entendi @skepticaldev e @matheusdalzot. Minha versão do App Engine está algumas versões atrás tbm e funcionando, vou manter assim por enquanto, até conseguir testar localmente e resolver o problema com está nova versão
from cei-crawler.
Vocês falam português hehe eu resolvi depois de adicionar o código acima no app.yaml, estou utilizando o serviço do App Engine do GCloud.
Tentei outras soluções como subir ou descer a versão do purppeteer mas sem sucesso, e agora fui verificar na documentação sobre Timeout e cheguei nessa solução.
Espero que funcione para vocêsHahaha. Sim falamos. Show, no meu caso no cloud functions só reduzindo a versão mesmo. Fiz diversas pesquisas e todas elas era reduzindo a versão. Ainda não usei o App Engine mas quero migrar depois o projeto pra lá, como já estou quase finalizando no functions vou terminar primeiro.
Ahh sim hehe show de bola, tem como utilizar esse script no cloud functions? Qual seria a limitação e por que pretende migrar ele? Eu estou usando lá mes estou com medo de acabar excedendo o limite free
from cei-crawler.
@matheusdalzot Tem sim eu uso lá. Só tive esse problema mesmo quando subi pra produção ai precisei alterar a versão do puppeteer. A questão não seria nem a limitação, o problema e que a versão nova do app que eu montei vai puxar a atualização das cotações de um cache que eu montei no firestore e atualiza de acordo com a demanda dos usuários. Só que por enquanto tem 200 usuários se tiver um aumento desse número vai aumentar e muito os acionamentos das funções ai já viu né hahaha.
from cei-crawler.
Uma dúvida sobre a requisição do token e passar ele por parâmetro, está funcionando bem para vocês? @skepticaldev e @matheuspcunha pois pra mim sempre que tento recuperar essas informações ele me devolve como 'undefined'
from cei-crawler.
Uma dúvida sobre a requisição do token e passar ele por parâmetro, está funcionando bem para vocês? @skepticaldev e @matheuspcunha pois pra mim sempre que tento recuperar essas informações ele me devolve como 'undefined'
Você está se referindo ao token de autenticação?
from cei-crawler.
Isso estou me referindo aos parâmeros, por exemplo na solicitação da função /token deve passar o username e password certo?
Quando eu passo eles no body com JSON ele me retorna como 'undefined' no CEIController.
O mesmo acontece quando tento passar o 'token' nas funções /wallet /transactions /dividends
Para testar precisei defini-los fixos nas variaveis.
from cei-crawler.
Hmm entendi. Nessa nova versão usando o cloud eu ainda não fiz a parte de autenticação na que esta em produção como eu faço as requisições direto pela api do firebase eu uso o security rules para validar as chamadas autenticadas. Você chegou a dar um log assim que recebe a autenticação? e mesmo assim vem undefined?
from cei-crawler.
Exatamente, eu coloquei para imprimir o 'req.body' , 'req.params' , 'req.query' e todos vem vazios, vou tentar realizar mais alguns testes para verificar se consigo algo, mas a principio estou passando por esse problema, também vou criar um token interno para evitar processos externos de quererem utilizar o serviço sem autorização hehe
from cei-crawler.
@matheuspcunha esse problema está de fato relacionado ao Puppetter e não ao Crawler em si.
Eu também to tendo ele com meu projeto hahaha
Nessa issue do Puppetter tem um usuario falando que passar o argumento --shm-size=3gb
resolveu pra ele. Ainda nao tive a chance de testar.
@matheusdalzot @skepticaldev , nao entendi bem, mas vcs falaram que em versoes antigas do Puppetter isso nao tava rolando?
from cei-crawler.
Opa @Menighin na versão que eu baixei da api feita pelo Bruno, está cendo usado o cei-crawler ^0.2.3
Não sei se tem algo a ver, não entendo muito sobre Node.JS ou Typescript hehe estou aprendendo com esse serviço em si hehe
Mas no meu caso a solução foi essa que eu postei acima quando utilizado no App Engine do GCloud.
from cei-crawler.
Hmmm entendi...
@matheuspcunha eu subi a versão do Puppetter quando mudei de 0.3.0
pra 1.0.0
.
Se esse args que eu passei em cima nao resolver, será que vc consegue testar se o problema acontece na versao 0.3.0
?
Se não acontecer, vou fazer rollback na versao do puppetteer
from cei-crawler.
@Menighin, farei esse teste assim que possível e te dou um retorno... Obrigado!
from cei-crawler.
@Menighin, tudo bem?
Testei com a versão v1.0.0 do cei-crawler e está funcionando corretamente, o erro não acontece como na versão v1.1.0
from cei-crawler.
@matheuspcunha 1.0.0
ou 0.3.0
?
Da 1.0.0
pra 1.1.0
o que mudou foi que to rodando o Puppeteer em aba anonima;
Da 0.3.0
pra 1.0.0
o que mudou foi a versao do Puppeteer 🤔
Vo parar de rodar em aba anonima entao e lançar uma versao asap, vlws
from cei-crawler.
GG!
from cei-crawler.
Related Issues (20)
- Problemas com acesso por conta de Captcha do CEI HOT 15
- Quantidade de acesso HOT 4
- Extrair dados do Tesouro Extrato Analítico e Extrato BM&FBOVESPA HOT 3
- Refresh dos cookies HOT 4
- Recaptcha HOT 1
- QR code doação HOT 1
- StockHistory missing HOT 2
- Não realiza o login e não da exception HOT 2
- StockHistory - É possível pegar de todas instituições? HOT 1
- valor errado na doc HOT 1
- Conta em uma corretora com mais de uma carteira HOT 1
- Recebendo erro ao loggar no CEI HOT 3
- Extrato CETIP HOT 4
- Adicionar suporte a split de ações HOT 3
- Nova area logada do CEI HOT 6
- Erro de dependência: puppeteer e Chromium HOT 2
- Atualização de URL em LastExecutionCrawler HOT 3
- TypeError: Cannot read properties of undefined (reading 'data') HOT 2
- Problema ao usar user-resolve
- Identificação dos bancos
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cei-crawler.