/[cvs]/nfo/perl/libs/Data/Transfer/Task.pm
ViewVC logotype

Contents of /nfo/perl/libs/Data/Transfer/Task.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Thu Oct 10 03:44:21 2002 UTC (21 years, 9 months ago) by cvsjoko
Branch: MAIN
+ new

1 #################################
2 #
3 # $Id$
4 #
5 # $Log$
6 #
7 #################################
8
9 package Data::Transfer::Task;
10
11 use strict;
12 use warnings;
13
14 use misc::HashExt;
15 use Data::Transfer::SyncStep;
16
17 # get logger instance
18 my $logger = Log::Dispatch::Config->instance;
19
20 sub new {
21 my $invocant = shift;
22 my $class = ref($invocant) || $invocant;
23 my $self = { @_ };
24 $logger->debug( __PACKAGE__ . "->new(" . @_ . ")" );
25 return bless $self, $class;
26 }
27
28
29 sub run {
30
31 my $self = shift;
32
33 my $storage_left = $self->{storages}->{L};
34 my $storage_right = $self->{storages}->{R};
35 my $tasks = $self->{steps};
36 my $tasklist = $self->{steplist};
37
38 # create synchronization object
39 $logger->notice("Starting synchronization (push) between \"Object Store (dbi:" . $storage_left->getDbName() . ")\" and \"Relational Database (dbi:" . $storage_right->getDbName() . ")\"");
40 my $syncStep = Data::Transfer::SyncStep->new( L => $storage_left, R => $storage_right );
41
42 my $stats_sum = SummableHash->new;
43 foreach my $taskKey (@{$tasklist}) {
44 my $task = $tasks->{$taskKey};
45 my $taskname = $taskKey;
46 if ($task->{name}) { $taskname = $task->{name}; }
47 #print "-" x 60, "\n";
48 #sysevent( { usermsg => $task->{caption}, level => LEVEL_NOTIFY }, $taskEvent );
49 $logger->info($task->{caption});
50
51 #syncSet2Table( $satellite->{mapping}->$taskname );
52 # execute synchronization step (ObjectSet -> Table)
53
54 #$syncStep->syncSet2Table( $satellite->{mapping}->$taskname );
55
56 if ($task->{coderef}) {
57 $task->{coderef}( $syncStep );
58 } else {
59 my $stats_ref = $syncStep->syncSet2Table( $self->{mapping}->$taskname );
60 $stats_sum += $stats_ref;
61 }
62
63 }
64
65 # uses overloading via "misc::HashExt" here to transparently stringify hash with statistic-counts
66 $logger->notice("stats: $stats_sum");
67
68 }
69
70 1;

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed