Common questions about 1C:Query language, Query builder tool and Data composition schema

#1
People who like this: 0 Yes / 0 No
Active user
Rating: 2
Joined: May 15, 2013
Company:

An explicit lock of scheduled jobs is applied to the infobase via the cluster console.

How to detect this situation in 1C code?

 
#2
People who like this: 0 Yes / 0 No
Just came
Rating: 0
Joined: Nov 30, 2014
Company:

You can create another scheduled job (eg every minute), which would be writing to some constant or register (new) just the last execution. Through a global handler expectations (AttachIdleHandler) (eg every 2-5 minutes) to check the difference between the current time and the last entry in the constant (or register) if the difference is greater than it should be, then the schedule is not working.

Not very elegant, but it might work =)

 
#3
People who like this: 0 Yes / 0 No
Just came
Rating: 0
Joined: Nov 30, 2014
Company:

Or, you can use this code:

Code
   ClusterAdminName      = "YourClusterAdminName";
   ClusterAdminPassword   = "YourClusterAdminPassword";

   ServerAdminName         = "YourServerAdminName";
   ServerAdminPassword      = "YourServerAdminPassword";  

   BaseName         = "YourBaseName";­

   ServerAddress         = "YourServerAddress"; //eg localhost  

   Connector = New COMОбъект("V83.COMConnector");
   AgentConnection = Connector.ConnectAgent(ServerAddress); 

   AgentConnection.AuthenticateAgent(ServerAdminName, ServerAdminPassword);  

   Clusters = AgentConnection.GetClusters();
   Cluster = Clusters.GetValue(Clusters.GetLowerBound()); // first cluster

   AgentConnection.Authenticate(Cluster, ClusterAdminName, ClusterAdminPassword);

   WorkProcs = AgentConnection.GetWorkingProcesses(Cluster);

   WorkProc = WorkProcs.GetValue(WorkProcs.GetLowerBound()); // first work process

   AddressWorkProc = "tcp://" + WorkProc.HostName + ":" + XMLString(WorkProc.MainPort);

   ConnectionWithWorkProc = Connector.ConnectWorkingProcess(AddressWorkProc);
  

   InfoBases = ConnectionWithWorkProc.GetInfoBases();  

    BaseFound = False;

    For each WorkBase in InfoBases Do

        xBase = НРег("""" + WorkBase.Name + """");

        BaseFound = Find(BaseName,xBase) > 0;

        If BaseFound Then

            Break;                

        EndIf;

    EndDo;­

   Message(?(WorkBase.ScheduledJobsDenied,"OFF","ON"));­

   Connector = Undefined;

Edited: Alex Shirokov - Dec 01, 2014 12:08 AM
 
#4
People who like this: 0 Yes / 0 No
Active user
Rating: 2
Joined: May 15, 2013
Company:

Thank you for your suggestions.

The second one is too complicated to use by the end user and is not available on Linux.
The first one is also quite complicated but probably doable. I might try it if there is no better solution.

 
#5
People who like this: 1 Yes / 0 No
Just came
Rating: 0
Joined: Jul 7, 2013
Company:

on linux use:

Code
cd /opt/1C/i386/

ras cluster localhost:1540 &
rac cluster list
rac infobase summary list --cluster=uuid
rac infobase info --infobase=uuid --cluster=uuid 

 
#6
People who like this: 0 Yes / 0 No
Active user
Rating: 2
Joined: May 15, 2013
Company:

Thank you for your suggestions, but they all where too complicated in our case, so we opted just to show a warning so that a user would not forget to check it manually.

 
Subscribe
Users browsing this topic (guests: 1, registered: 0, hidden: 0)
Be the first to know tips & tricks on business application development!

A confirmation e-mail has been sent to the e-mail address you provided .

Click the link in the e-mail to confirm and activate the subscription.

/* Улучшаем читаемость списков в документации */ .workarea ul, .content ul { margin: 15px 0 20px 25px !important; padding: 0 !important; list-style-type: disc !important; } .workarea li, .content li { margin-bottom: 8px !important; padding-left: 5px !important; line-height: 1.6 !important; } /* Ультимативный фикс для всех уровней заголовков в контенте */ .workarea h1, .workarea h2, .workarea h3, .workarea h4, .workarea h5, .workarea h6, .content h1, .content h2, .content h3, .content h4, .content h5, .content h6, div[id*="content"] h5, div[class*="content"] h5 { display: block !important; font-weight: 700 !important; color: #005aa0 !important; /* Наш фирменный синий */ text-transform: none !important; margin-top: 30px !important; margin-bottom: 15px !important; line-height: 1.2 !important; font-family: Arial, sans-serif !important; } /* Принудительные размеры в пикселях (чтобы не зависеть от % или em) */ .workarea h1, .content h1 { font-size: 28px !important; } .workarea h2, .content h2 { font-size: 24px !important; } .workarea h3, .content h3 { font-size: 21px !important; } .workarea h4, .content h4 { font-size: 19px !important; } .workarea h5, .content h5 { font-size: 18px !important; } /* Для 5 решеток ##### */ .workarea h6, .content h6 { font-size: 16px !important; } /* Фикс, если Битрикс добавил лишние отступы перед списками после заголовка */ .workarea h5 + ul, .content h5 + ul { margin-top: 5px !important; }