Pardon the top posting, but I feel that I have worked around the
problem we had with failing commits on ticket creation. Here is what I
did.
We first upgraded to the latest stable version of mod_perl for CentOS
5.2.
Second, we changed to custom cleanup code to use IPC::System::Simple
and usied a systemx() call, rather than system(). The advantage is
that systemx() does not invoke a new shell and swallows all stdout/
stderr and return values from the invoked binary. This seems to keep
mod_perl happy as well as RT. Here is the new custom cleanup code:
{
use IPC::System::Simple qw(system systemx);
my $myId = $self->TicketObj->EffectiveId;
my $mySubject = $self->TicketObj->Subject;
my $binret = '';
my $binary = '/home/alarmpoint/alarmpointsystems/integrationagent/
bin/APClient.bin';
$binret = systemx($binary, '--map-data', 'vanderbilt', 'Cluster
Group', $mySubject, 'RT', "RT $myId");
1;
}
I hope this helps someone else. It works for us.
Cheers--
Charles
On Jun 24, 2010, at 2:38 PM, Kevin Falcone wrote:
On Thu, Jun 24, 2010 at 11:19:00AM -0500, Charles Johnson wrote:
Badly needing help. This is a script to call a binary that sends
data to a webservice. The binary simply accepts the data and
returns.
rt version: 3.8.1
OS version CentOS 5.2
If you're using mod_perl, Ruslan found some really excellent bugs with
running system commands under it. If you can come up to 3.8.8, that
may fix it for you
-kevin
First, here is the error message:
Jun 24 10:51:32 helpdesk RT: Ticket 9261 created in queue
'ClusterSupport' by johns276
(/opt/rt3/bin/../lib/RT/Ticket_Overlay.pm:659)
Jun 24 10:51:32 helpdesk RT: Attempted to commit a transaction with
none in progress at
/usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm line 747
DBIx
::SearchBuilder::Handle::EndTransaction('RT::Handle=HASH(0xba695a0)',
'Action', 'commit', 'Force', 'undef') called at /usr/lib/perl5/
site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm line 780
DBIx::SearchBuilder::Handle::Commit('RT::Handle=HASH(0xba695a0)')
called at /opt/rt3/bin/../lib/RT/Ticket_Overlay.pm line 675
RT::Ticket::Create('RT::Ticket=HASH(0xc8b8798)', 'Requestor',
'ARRAY(0xc8a4df4)', 'DependsOn', 'ARRAY(0xc8bb6b8)', 'Cc',
'ARRAY(0xc8c1034)', 'RefersTo', 'ARRAY(0xc8bb7f0)', ...) called at /
opt/rt3/bin/../local/lib/RT/Interface/Email/Filter/TakeAction.pm
line 501
RT::Interface::Email::Filter::TakeAction::GetCurrentUser('Message',
'MIME::Entity=HASH(0xc8af7fc)', 'RawMessageRef',
'SCALAR(0xc8afdc0)', 'CurrentUser',
'RT::CurrentUser=HASH(0xc862d80)', 'AuthLevel', 1, 'Action', ...)
called at /opt/rt3/bin/../lib/RT/Interface/Email.pm line 1274 RT::
The ticket is created but the commit fails. An attempt to view the
ticket produces this error message: "Could not load ticket 9261"
Here is the scrip. It is attached to a particular queue
(CustomerSupport).
# Condition: User defined
if ($self->TransactionObj->Type eq 'Create') {
return (1);
}
# Action: User Defined
# Custom action preparation code: Do nothing with the ticket
1;
# Custom action cleanup code:
{
my $myId = $self->TicketObj->EffectiveId;
my $mySubject = $self->TicketObj->Subject;
my $binary =
'/home/alarmpoint/alarmpointsystems/integrationagent/
bin/APClient.bin';
system($binary, '--map-data', 'vanderbilt', 'Cluster Group',
$mySubject, 'RT', "RT $myId");
1;
}
#Template: Global Template: Blank
Any suggestions would be appreciated. The message is actually send
to the webservice, since we can log in to the remote server and see
that the data was sent appropriately. However, RT balks.
Thanks.
~Charles~
--
Charles Johnson, Vanderbilt University
Advanced Computing Center for Research and Education
Office: 615-343-4134
Cell: 615-478-5743
Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com
Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com
--
Charles Johnson, Vanderbilt University
Advanced Computing Center for Research & Education
Mailing Address: Peabody #34, 230 Appleton Place, Nashville, TN 37203
Shipping Address: 1231 18th Avenue South, Hill Center, Suite 143,
Nashville, TN 37212
Office: 615-343-4134
Cell: 615-478-5743
Fax: 615-343-7216
Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com