;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Paralisação diária de servidores do BC deixa rastro de atrasos em divulgações de indicadores

Marcello Casal JrAgência Brasil
Imagem: Marcello Casal JrAgência Brasil

Brasília

23/03/2022 15h37

Com paralisações diárias das 14h às 18h, a operação-padrão dos servidores do Banco Central tem deixado um rastro de atrasos em sequência na divulgação de indicadores pela autoridade monetária.

Nas últimas semanas, o movimento já havia provocado atrasos na divulgação da taxa ptax diária, com rumores em mesas de operação de suspensão da comunicação, além de paralisações no monitoramento preventivo do Pix e do Sistema de Pagamentos Brasileiro (SPB).

Na última segunda-feira, 21, a operação-padrão transbordou para a divulgação da Pesquisa Focus. Faltando apenas 15 minutos para o horário da publicação, o BC avisou que os dados não sairiam às 8h30, mas sim uma hora e meia mais tarde. Embora o relatório completo tenha sido divulgado de fato às 10h, as informações já estavam disponíveis para consulta no Sistema Expectativas de Mercado do BC.

Da mesma forma, o resultado da Pesquisa Pré-Copom que era esperado para a manhã desta quarta-feira precisou ser adiado para amanhã, às 9h30. Já os dados do fluxo cambial, com a atualização da página de Indicadores Econômicos Selecionados do BC, deveriam ter sido publicados às 14h30 de hoje. No entanto, faltando 19 minutos para o horário programado, a autoridade monetária avisou que só conseguirá divulgar os dados do movimento de câmbio na sexta-feira (25), também às 9h30.

O presidente do Sindicato Nacional dos Funcionários do Banco Central (Sinal), Fabio Faiad, confirmou ao Broadcast, sistema de notícias em tempo real do Grupo Estado, que todos os atrasos se devem ao fato de a cada dia mais e mais servidores cruzarem os braços em adesão à operação-padrão da categoria. Os funcionários do BC querem um reajuste salarial de 26,3%, além da reestruturação da carreira de analistas. O sindicato também mantém a ameaça de greve.

Embora cause transtorno na divulgação de indicadores, o movimento por enquanto tem afetado apenas publicações menores. A ata da última reunião do Comitê de Política Monetária (Copom) foi publicada no horário correto ontem e a divulgação do Relatório Trimestral de Inflação (RTI) segue prevista para amanhã, às 8h. Ambos os documentos são produzidos pela diretoria colegiada da instituição.