Skip to content
Extraits de code Groupes Projets
Valider 9c32d369 rédigé par TC's avatar TC
Parcourir les fichiers

Nouveau module pour voir la schedulequeue et autres évènements des modules

parent 375ad9f4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
package Debug; # right = owner ; command = dbg
use strict;
use warnings;
use Data::Dumper;
# ###
# debug_main
#
#
# Usage :
# !dbg {<module>|queue [<sched_id>]}
# ###
sub debug_main
{
my ($conn, $event, $reply_to, $ref_params) = @_;
return 0 unless(defined($ref_params->[0]));
if($ref_params->[0] eq 'queue')
{
if($conn->parent->schedulequeue->is_empty())
{
$::displayer->sendto($reply_to, "The schedule queue is empty from any event.");
return 1;
}
if(defined($ref_params->[1]))
{
return debug_queue_id($conn, $event, $reply_to, $ref_params->[1]);
}
else
{
return debug_queue($conn, $event, $reply_to);
}
}
else
{
return $conn->{'cmdtool'}->print_debug($conn, $reply_to, $ref_params)
}
} # Fin debug_main
# ###
# debug_queue
# Affiche des infos de debug de la schedulequeue
# ###
sub debug_queue
{
my ($conn, $event, $reply_to) = @_;
foreach my $sched_id (keys %{$conn->parent->schedulequeue->queue})
{
my $entry = $conn->parent->schedulequeue->queue->{$sched_id};
my $dd = Data::Dumper->new([$entry->content->{'args'}], [$sched_id]);
$dd->Maxdepth(3);
print $dd->Dump();
}
$::displayer->sendto($reply_to, "Printed on shell");
return 1;
} # Fin debug_queue
# ###
# debug_queue_id
# Affiche des infos de debug d'une entrée de la schedulequeue
# ###
sub debug_queue_id
{
my ($conn, $event, $reply_to, $sched_id) = @_;
my $schqueue = $conn->parent->schedulequeue;
if(defined($schqueue->queue->{$sched_id}))
{
print Data::Dumper->Dump([$schqueue->queue->{$sched_id}], [qw(schedule_queue_entry)]);
$::displayer->sendto($reply_to, "Printed on shell");
}
else
{
$::displayer->sendto($reply_to, "$sched_id doesn't exists");
}
return 1;
} # Fin debug_queue_id
# ###
# debug_help
# Aide de debug
# ###
sub debug_help
{
my ($conn, $event, $reply_to, $ref_params) = @_;
$conn->privmsg($reply_to, "`".$Config::command_sign."debug {<module>|queue [<sched_id>]}` => Print module variables or schedule queue events");
return 1;
} # Fin debug_help
1;
__END__
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter