Question
Flávio Lúcio Na... · Oct 11

Every time we use the command "job" a new license is consumed?

We have in our company a task that use many times a job command, and we receive this message "<LICENSE ALLOCATION EXCEEDED>". I thought that a new license is consumed only when we acess with another IP address the database.

Can anyone explain this to me?

00
3 0 4 143
Log in or sign up to continue

I don't fully understand the Cache licences as they are managed by someone else in our company but my understanding is that whenever a task is 'JOB'bed on a database the licence count is increased. For that reason we avoid JOB's unless absolutely necessary. 

Hope that helps in some way.

You should review your license agreement with your account team. Licenses are typically per-user (where a user at a different IP counts as a separate user), but there are also connection limits for each user (each 'job' is a new connection as long as it is still around), and exceeding them can cause one user/IP to consume many licenses. 

We've seen this behavior too. Whenever we use Job, we see a license used by the user at their computer's IP address, and we also see the job running as their username@127.0.0.1 because it's executing on the server.

The license-mechanic is a little bit complicated:

  • users are identified by  username@127.0.0.1  (as mentioned already)
  • every new process consumes a license slot over its lifetime
  • each user gets a set of license slots  (typically 25)
  • once this limit (25) is exceeded ALL 25 slots are converted to normal (non-licenses)

As a consequence, a request for license number 26 consumes 25 additional licenses for that user !!
And these licenses come back to in the license slot mode only if ALL processes of that user are terminated
So using a single user (e.g. from CSP) is rather risky in that relation

$system.License.Login()  may help you cross that limit.
from docs:

This function will relinquish a license if the session/process is already holding
one under a different identifier and it will obtain a new one on the behalf of the
user ID provided.

If the MAXCONNECTIONS connection limit per user is exceeded,
the usual transition to one-license-unit-per-connection
will apply to this user identifier.