[SP-pm] Problemas com lib no windows
André Garcia Carneiro
andre.garcia.carneir em terra.com.br
Quarta Novembro 14 04:22:12 PST 2007
Salve Monges!
Tenho a seguinte situação: Criei uma classe chamada Microspider dentro de um diretório também chamado
Microspider, que está sob controle de versão(SVN). Dentro desse diretório existe uma classe chamada Rule. Para
testes, eu faço update desses arquivos em um servidor Win2000, com um ActivePerl instalado. Depois de testar
submeto o arquivo para o servidor de produção, que também é um Win2000(mais velho), com um ActivePerl(mais
velho). Não tenho problemas no servidor de testes, tudo roda perfeitamente, mas quando eu rodo o sistema no
servidor de produção, recebo a seguinte mensagem:
Can't locate object method "processSpawnRules" via package "Microspider::Rule" (perhaps you forgot to load
"Microspider::Rule"?) at Microspider/Microspider.pm line 265.
A estrutura de diretórios nos dois servidores é igualzinha(src/Microspider).
O estranho é que antes do método processSpawnRules, é invocado um outro método, e não há problema algum. Alguém
tem alguma idéia do que eu possa estar fazendo de errado? Segue o código do método de onde eu chamo
processSpawnRules;
<code>
package Microspider;
use Microspider::Spawn;
use Microspider::DataBase;
use Microspider::ProcessTable;
use Microspider::Rule;
use DBI;
use strict;
.
.
.
sub Spawn {
my ($self,$config) = @_;
my $rule = Microspider::Rule->new(); #Não tenho problemas aqui
$rule->name($config->{rule}); #Nem aqui
my $lista_cfg = $rule->loadSpawnRules($config); # E nem aqui
$config = $rule->processSpawnRules($config,$lista_cfg);
my $db = Microspider::DataBase->new();
$config->{dbh} = $db->openDBConn();
my $spawn = Microspider::Spawn->new();
$spawn->init($config);
$spawn->newSpawnProcess();
$spawn->create($config);
$spawn->status(-1);#Ainda não iniciado.
#Registrando na tabela de processos, com o objeto ProcessTable
my $ptable = Microspider::ProcessTable->new();
$ptable->insert($spawn);
#Incluindo a informação do spawn em $spawnlist. Necessário caso o spawn precise ser executado novamente.
$self->SpawnListAdd($spawn);
}
.
.
.
</code>
Cheers!
--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org
Mais detalhes sobre a lista de discussão SaoPaulo-pm