Phantom Processing in mvBASE

81 views
Skip to first unread message

Rick Weiser

unread,
Feb 8, 2012, 11:32:25 AM2/8/12
to mvd...@googlegroups.com
Hi all,

I have scoured the online mvBase documentation and cannot find how to start a phantom process from TCL.  I need to EXECUTE the command from a BASIC subroutine.

Can anyone help?

Thanks,

Rick

David Hendershot

unread,
Feb 8, 2012, 11:41:56 AM2/8/12
to Pick and MultiValue Databases
Just do:
EXECUTE 'PHANTOM programname'

Rick Weiser

unread,
Feb 8, 2012, 11:51:26 AM2/8/12
to mvd...@googlegroups.com
Thanks David,

I searched every online document for mvBase and this command is not documented.

Rick

David Morris

unread,
Feb 8, 2012, 11:51:37 AM2/8/12
to mvd...@googlegroups.com
On 8 February 2012 16:41, David Hendershot <davidhen...@gmail.com> wrote:
> Just do:
> EXECUTE 'PHANTOM programname'

Are you sure about that? I've just checked on mvBase 1.3.02 and 3.0
and neither have PHANTOM defined.

We normally do LOGON <port>,<account>

You could execute that instead...

--
David Morris
blog: http://www.brassedoff.net/wp
twitter: @brassedoff
email: da...@brassedoff.net

David Hendershot

unread,
Feb 8, 2012, 12:06:33 PM2/8/12
to Pick and MultiValue Databases
I apologize I wasn't thinking, I am on UniVerse so I guess that
probably wont work for you. I will read a little closer next time

On Feb 8, 11:51 am, David Morris <da...@brassedoff.net> wrote:

Nathan Rector

unread,
Feb 8, 2012, 12:49:44 PM2/8/12
to mvd...@googlegroups.com
Recently had to do this myself.

You have to create a logon proc, psuedo account, and use the logon

ED MD PHANTOM.TEST
001 PQ
002 HProgram Name
003 P

ED SYSTEM PHANTOM.TEST
001 Q
002 account name

LOGON port, PHANTOM.TEST


or something like that. Not on the system to see the actual information
I used.

-Nathan

> --
> You received this message because you are subscribed to
> the "Pick and MultiValue Databases" group.
> To post, email to: mvd...@googlegroups.com
> To unsubscribe, email to: mvdbms+un...@googlegroups.com
> For more options, visit http://groups.google.com/group/mvdbms

--
Nathan Rector
International Spectrum, Inc
http://www.intl-spectrum.com
Phone: 720-259-1356
Fax: 603-250-0664

Twitter: http://twitter.com/intlspectrum
Facebook: http://intl-spectrum.com/facebook

Dick Thiot

unread,
Feb 8, 2012, 12:52:26 PM2/8/12
to mvd...@googlegroups.com
Be sure to log off the port at the end of the proc.

Dick

On Wed, Feb 8, 2012 at 11:49 AM, Nathan Rector <nat...@intl-spectrum.com> wrote:
Recently had to do this myself.

You have to create a logon proc, psuedo account, and use the logon

ED MD PHANTOM.TEST
001 PQ
002 HProgram Name
003 P

ED SYSTEM PHANTOM.TEST
001 Q
002 account name

LOGON port, PHANTOM.TEST


or something like that.  Not on the system to see the actual information I used.

-Nathan


On 2/8/2012 9:51 AM, Rick Weiser wrote:
Thanks David,

I searched every online document for mvBase and this command is not
documented.

Rick

--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+unsubscribe@googlegroups.com

For more options, visit http://groups.google.com/group/mvdbms
--
Nathan Rector
International Spectrum, Inc
http://www.intl-spectrum.com
Phone: 720-259-1356
Fax: 603-250-0664

Twitter: http://twitter.com/intlspectrum
Facebook: http://intl-spectrum.com/facebook
--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+unsubscribe@googlegroups.com

David Morris

unread,
Feb 8, 2012, 1:04:41 PM2/8/12
to mvd...@googlegroups.com
On 8 February 2012 17:49, Nathan Rector <nat...@intl-spectrum.com> wrote:
> Recently had to do this myself.
>
> You have to create a logon proc, psuedo account, and use the logon

> or something like that.  Not on the system to see the actual information I
> used.

Sounds reasonable :-)

Rick Weiser

unread,
Feb 8, 2012, 3:50:46 PM2/8/12
to mvd...@googlegroups.com
But you have to pick the port?

Is there a way to have it take the next available port?

Rick

David Morris

unread,
Feb 8, 2012, 4:13:59 PM2/8/12
to mvd...@googlegroups.com
On 8 February 2012 20:50, Rick Weiser <ri...@designbais.com> wrote:
> But you have to pick the port?
>
> Is there a way to have it take the next available port?
>

I've never come across a way - we always use fixed ports. It wouldn't
be too difficult to create some sort of de-queue process and have a
number of processes logged on to fixed ports looking at a queue file.

Rick Weiser

unread,
Feb 8, 2012, 4:24:37 PM2/8/12
to mvd...@googlegroups.com, da...@brassedoff.net
Ok, I can loop through all of my ports checking the "WHERE port".  If there is activity then go on to the next port.

Now, my problem is that the account I log into displays "VERB" when I type LOGON.  The pointer is in the MD, the System pointer for the account is SYS2.

Any ideas?

Dick Thiot

unread,
Feb 8, 2012, 6:52:23 PM2/8/12
to mvd...@googlegroups.com
Rick,

I don't know if mvBASE actually supports formal Phantoms but I don't think so.  I would suggest that you allocate a "range" of ports for phantoms then your code will only loop through those ports looking for an available port.  What will you do when all the ports are in use?  Do you have a queuing mechanism?

We have a process that runs on a dedicated port that then manages phantoms.  It is simple code and keeps track of ports in use, maximum number of ports to allocate, etc.  It then uses LOGON to create the phantom.  When the phantom logs off it puts itself back in the queue ready to be started again.  At another site we have a set number of processes that run and "do things" as if they were phantoms but they stay logged on all the time.

Dick

Tony Gravagno

unread,
Feb 8, 2012, 7:36:59 PM2/8/12
to mvd...@googlegroups.com
Try SYS3.


From: Rick Weiser

David Morris

unread,
Feb 9, 2012, 8:31:01 AM2/9/12
to mvd...@googlegroups.com

I think Tony's right in the first instance; make sure the account type is SYS3.

However, I think the best option would be to somehow recreate the
functionality of PHANTOM by logging on a series of ports to a process
which examines a job queue every few seconds. That way you don't need
SYS3 privileges necessarily on the launching account and you don't
need to worry about continually looking for free ports.

Drop me a line if you need any further assistance..

Tony Gravagno

unread,
Feb 9, 2012, 3:33:35 PM2/9/12
to mvd...@googlegroups.com
So much for trying a short answer. ;) OK, here's the long
version.

I'll usually preface a response with something like: here's the
answer to the question you asked but it's not the right solution
to the problem.

I agree with David that SYS3 is insecure and agree with his
suggestion below - I think it's _the_ right solution, especially
for Rick. But his "somehow recreate" is a real indicator of how
his proposal isn't a slam-dunk alternative to SYS3. Here are the
considerations...

SYS3 does leave the system open for admin commands being executed
in end-user accounts. But in all the years I've been doing this
I've only heard of rogue end-users doing that kind of thing a few
times - never with mvBase which is now probably the most legacy
of all of the MV environments out there. This problem is one
with personnel and not so much a technical problem in smaller
mvBase shops - not so in larger shops. The likely hood that this
will happen is low in an mvBase shop. Even professionals have a
hard time figuring out mvBase. It's hard to imagine an end-user
poking around at TCL with SYS3 verbs in this decade. D3 has
always put admin-level verbs in user accounts and no one seems to
be screaming. (My suggestions to modify newacct files over the
years have even been met with disdain.)

So while I don't think security is that much of an issue with
mvBase and related shops, I don't disvalue security either by any
means. Where this leads is that it seems like Rick and others
need to create what amounts to a session pooling mechanism for
mvBase, managing phantom state with other phantoms, queuing and
dequeuing jobs, etc.

For Rick, where I assume he's doing this for DesignBais, I think
this is a necessary bit of engineering because DBI doesn't want
to ask their clients to run insecurely just for their product.
For others, SYS3 might be a better solution because the remedy is
fast, requires zero maintenance, and the risk is (site-dependent)
probably very low.

Horses for courses.
Your milage may vary.
Ask your doctor if SYS3 is right for you. If you're having fun
for more than 3 hours after using SYS3 discontinue and contact
your doctor immediately.
.... other disclaimers may apply...

T

Rick Weiser

unread,
Feb 9, 2012, 9:56:18 PM2/9/12
to mvd...@googlegroups.com
Thanks all,

First, SYS2 works just fine for the LOGON command.  My problem was that LOGON did not exist in the MD.

Second, I wound up creating my own phantom processor.

Thanks again,

Rick
Reply all
Reply to author
Forward
0 new messages