Finance-QuoteDB
view release on metacpan or search on metacpan
lib/Finance/QuoteDB.pm view on Meta::CPAN
my $schema = Finance::QuoteDB::Schema->connect_and_deploy($dsn,$dsnuser,$dsnpasswd); # creates the database
return $schema;
}
=head2 updatedb
updatedb()
=cut
sub updatedb {
my $self = shift ;
my $dsn = $self->{dsn};
INFO ("COMMAND: Update database $dsn\n");
my $schema = $self->schema();
my @stocks = $schema -> resultset('Symbol')->
search(undef, { order_by => "fqmarket,fqsymbol",
columns => [qw / symbolID fqmarket fqsymbol /] });
my %symbolIDs ;
lib/Finance/QuoteDB.pm view on Meta::CPAN
$self->updatedbMarketStock ( $market , \%{$symbolIDs{$market}} ) ;
}
}
=head2 updatedbMarketStock
updatedbMarketStock($market,\%symbolIDs)
=cut
sub updatedbMarketStock {
my ($self,$market,$stockHash) = @_ ;
my $schema = $self->schema();
my @fqsymbols = keys(%{$stockHash}) ;
DEBUG "UPDATEDBMARKETSTOCK: $market -->" .join(",",@fqsymbols)."\n" ;
my $q = Finance::Quote->new();
my %quotes = $q->fetch($market,@fqsymbols);
foreach my $stock (@fqsymbols) {
if ($quotes{$stock,"success"}) { # This quote was retrieved
my $symbolID = ${$stockHash}{$stock} ;
print ("Updating stock $stock ($symbolID) --> $quotes{$stock,'last'}\n");
( run in 0.322 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )