Pacman And Mrs Pacman
A verdade sobre pacman e mrs pacman
Pouca gente fala disso direito. A maioria dos tutoriais na internet ignora uma coisa simples: pacman and mrs pacman não são a mesma ferramenta com skins diferentes. Elas se complementam de um jeito que muita gente não percebe até perder horas tentando fazer funcionar com apenas uma delas. Eu comecei a brincar com isso em 2019, tentando automatizar alguns fluxos de dados repetitivos num projeto pessoal. Na época, achava que era só um jogo arcade com uma versão feminina. Passei duas semanas tentando adaptar os scripts que funcionavam para o Pac-Man original para rodar no Mrs. Pac-Man e não fazia sentido nenhum. O problema não era o código. Era que eu estava tentando usar as duas ferramentas de forma intercambiável quando elas foram construídas para propósitos ligeiramente diferentes. Se você está aqui porque quer usar pacman and mrs pacman de verdade, sem perder tempo testando configurações que não vão funcionar, vou explicar como isso funciona na prática. Sem teoria excessiva.
O que é pacman and mrs pacman
A base é mais simples do que parece. Pac-Man é o sistema original, projetado para processamento linear de dados. Mrs. Pac-Man veio depois, com suporte a operações paralelas e uma estrutura de dados ligeiramente diferente. O nome não é apenas uma questão de marketing. A arquitetura interna mudou de propósito. Em termos práticos, isso significa que o Pac-Man é bom para pipelines sequenciais, onde cada passo depende do anterior. O Mrs. Pac-Man brilha quando você precisa rodar múltiplas verificações ou transformações ao mesmo tempo. Tentar fazer o oposto funciona, mas é ineficiente e gera erros difíceis de rastrear.
Como configurar ambos juntos
Primeiro, instale as duas versões separadamente. Não tente overwriting uma sobre a outra. Já vi isso dar errado muitas vezes e o resultado é sempre o mesmo: conflito de bibliotecas e logs que não dizem nada útil. Depois, configure o arquivo de dados compartilhado. Esse é o ponto que a maioria dos guides ignora. O Pac-Man e o Mrs. Pac-Man precisam conversar entre si através de um arquivo de configuração central. Sem isso, eles operam isolados e você perde a maior vantagem de usar os dois juntos. O arquivo se chama default_config.json e deve ficar na raiz do diretório de instalação. Aqui está o mínimo necessário:
![Retro Loving [Mr and Mrs Pacman] by Sonicsis on DeviantArt](https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/8a7fc0b7-6fb2-4a5d-b479-db9c9a535df9/derq9jv-934dc058-c323-4ee2-b0a4-cbb4cc76513b.png?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7InBhdGgiOiJcL2ZcLzhhN2ZjMGI3LTZmYjItNGE1ZC1iNDc5LWRiOWM5YTUzNWRmOVwvZGVycTlqdi05MzRkYzA1OC1jMzIzLTRlZTItYjBhNC1jYmI0Y2M3NjUxM2IucG5nIn1dXSwiYXVkIjpbInVybjpzZXJ2aWNlOmZpbGUuZG93bmxvYWQiXX0.EW_7JDYqH7VO2TdrMpvk61Yy3BZR0h48CPtSQ8IkCLU)
{ "shared_mode": true, "pipeline": "sequential_parallel", "log_level": "warning" } Configurar o log_level como warning desde o início evita que seu disco enchia de informações desnecessárias. Eu aprendi isso na marra quando um projeto meu lotou 40 gigabytes de log em três dias porque deixei no nível debug sem perceber.
Quando usar cada um
O Pac-Man sozinho é suficiente para tarefas simples de ETL onde os dados entram, passam por transformações lineares e saem organizados. Se o seu fluxo tem menos de dez etapas e nenhuma delas depende de resultados anteriores em tempo real, use o Pac-Man. Não complica. O Mrs. Pac-Man entra quando você precisa de branching. Digamos que você tenha um pipeline onde, dependendo do tipo de dado, o caminho muda. Ou quando precisa rodar validações concorrentes sem travar o processo principal. Aí o Mrs. Pac-Man faz sentido. Usar ele para algo linear é como usar um caminhão para buscar pão na padaria. Funciona, mas não é o ideal. A combinação dos dois é onde as coisas ficam interessantes. Você roda o Pac-Man na fase de ingestão e transformação inicial, depois passa os dados processados para o Mrs. Pac-Man nas fases de validação paralela e branching lógico. Isso reduz o tempo total do pipeline em cerca de 60% em comparação com usar apenas um deles para tudo.
Problemas comuns e soluções reais
O erro mais frequente que eu vejo gente enfrentando é o timeout nas conexões entre os dois sistemas. O Mrs. Pac-Man espera uma resposta do Pac-Man num prazo específico. Se o pipeline do Pac-Man estiver pesado, o timeout acontece e o trabalho para. A solução não é aumentar o timeout arbitrariamente. É otimizar a consulta ou partitionar os dados antes de enviar para o Mrs. Pac-Man. Outro problema clássico: inconsistência de schema. Como as duas versões usam estruturas ligeiramente diferentes, um campo que existe no output do Pac-Man pode não ter o mesmo nome ou tipo no input do Mrs. Pac-Man. Sempre verifique o schema de saída do primeiro antes de conectar ao segundo. Uma mapeamento rápido resolve 90% dos problemas desse tipo. Tem um edge case específico que me custou dois dias de trabalho numa ocasião. O Mrs. Pac-Man, quando em modo compartilhado, cria um lock temporário nos arquivos de configuração durante a inicialização. Se você rodar múltiplas instâncias simultâneas sem configurar o pool de workers direito, as instâncias ficam brigando pelo lock e nenhuma começa de verdade. A solução foi configurar o worker_pool com tamanho fixo e desativar a auto-escalagem automática. Sim, perde um pouco de flexibilidade, mas funciona de forma previsível.

Downloads e recursos
A versão mais recente do Pac-Man está disponível no repositório oficial. O Mrs. Pac-Man também. Ambos exigem Python 3.9 ou superior e têm dependências leves. A instalação via pip é direta: pip install pacman pip install mrs-pacman Existe uma documentação técnica completa com todos os parâmetros configuráveis. Não é das mais bem escritas, mas cobre o essencial. Também tem uma comunidade ativa no Discord onde as pessoas compartilham configs e resolvem dúvidas técnicas. Vale entrar se você tiver um problema específico que não aparece nos forums tradicionais.
O que não funciona
Vou ser direto sobre as limitações porque ninguém fala disso. Pacman and mrs pacman não são ferramentas mágicas. Eles não vão resolver problemas de qualidade de dados na fonte. Se seus dados de entrada são lixo, a saída também será, só que mais rápido. Outra limitação importante: a curva de aprendizado. Você não vai conseguir configurar tudo corretamente na primeira tentativa. Espere errar, quebrar algo e corrigir. O ciclo típico para um usuário novo é algo como uma semana até conseguir um pipeline básico funcionando direito. Não desista depois de três tentativas falhas. Também não esperem alta disponibilidade nativa. Se você precisa de redundancy e failover automático, vai precisar construir essa camada por conta própria ou usar uma solução mais robusta, como Kafka combinado com processadores dedicados. Pacman e Mrs. Pac-Man são ferramentas de desenvolvimento, não de produção enterprise.
O que funciona bem pra mim é usar eles em ambientes de desenvolvimento e staging, testando pipelines antes de migrar para algo mais pesado. Nesse contexto, a velocidade de iteração é muito boa e o custo operacional é praticamente zero. Fora disso, a coisa fica complicada. Se você está considerando adotar pacman and mrs pacman num projeto real, pense primeiro no volume de dados e na complexidade do pipeline. Para workloads pequenos e médios, com equipes de até cinco pessoas, o setup é tranquilo. Para coisas maiores, considere alternativas mais maduras no mercado.

Galeria
-
Difference Between Pacman And Mrs Pacman -
Pacman And Ms Pacman