NCBI C++ ToolKit
grid_cli.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef GRID_CLI__HPP
2 #define GRID_CLI__HPP
3 
4 /* $Id: grid_cli.hpp 94394 2021-07-30 17:14:47Z sadyrovr $
5  * ===========================================================================
6  *
7  * PUBLIC DOMAIN NOTICE
8  * National Center for Biotechnology Information
9  *
10  * This software/database is a "United States Government Work" under the
11  * terms of the United States Copyright Act. It was written as part of
12  * the author's official duties as a United States Government employee and
13  * thus cannot be copyrighted. This software/database is freely available
14  * to the public for use. The National Library of Medicine and the U.S.
15  * Government have not placed any restriction on its use or reproduction.
16  *
17  * Although all reasonable efforts have been taken to ensure the accuracy
18  * and reliability of the software and data, the NLM and the U.S.
19  * Government do not and cannot warrant the performance or results that
20  * may be obtained by using this software or data. The NLM and the U.S.
21  * Government disclaim all warranties, express or implied, including
22  * warranties of performance, merchantability or fitness for any particular
23  * purpose.
24  *
25  * Please cite the author in any work or product based on this material.
26  *
27  * ===========================================================================
28  *
29  * Authors: Dmitry Kazimirov
30  *
31  */
32 
33 /// @file grid_cli.hpp
34 /// Declarations of command line interface arguments and handlers.
35 ///
36 
37 #include <corelib/ncbiapp.hpp>
38 
42 
44 
45 #include "util.hpp"
46 
47 #define GRID_APP_NAME "grid_cli"
48 
49 #define LOGIN_TOKEN_ENV "GRID_CLI_LOGIN_TOKEN"
50 #define DEFAULT_APP_UID GRID_APP_NAME
51 
52 #define LOGIN_TOKEN_APP_UID_FIELD "app"
53 #define LOGIN_TOKEN_AUTH_FIELD "cn"
54 #define LOGIN_TOKEN_USER_FIELD "u"
55 #define LOGIN_TOKEN_HOST_FIELD "h"
56 #define LOGIN_TOKEN_NETCACHE_FIELD "nc"
57 #define LOGIN_TOKEN_ICACHE_NAME_FIELD "ic"
58 #define LOGIN_TOKEN_ENABLE_MIRRORING "mm"
59 #define LOGIN_TOKEN_NETSCHEDULE_FIELD "ns"
60 #define LOGIN_TOKEN_QUEUE_FIELD "q"
61 #define LOGIN_TOKEN_SESSION_PID_FIELD "pid"
62 #define LOGIN_TOKEN_SESSION_TIMESTAMP_FIELD "ts"
63 #define LOGIN_TOKEN_SESSION_UID_FIELD "uid"
64 #define LOGIN_TOKEN_ALLOW_XSITE_CONN "xs"
65 #define LOGIN_TOKEN_NO_CONN_RETRIES "r0"
66 #define LOGIN_TOKEN_FILETRACK_SITE "fts"
67 #define LOGIN_TOKEN_FILETRACK_TOKEN "ftt"
68 
69 #define LOGIN_TOKEN_OPTION "login-token"
70 #define NETCACHE_OPTION "netcache"
71 #define CACHE_OPTION "cache"
72 #define TRY_ALL_SERVERS_OPTION "try-all-servers"
73 #define NETSTORAGE_OPTION "netstorage"
74 #define OBJECT_KEY_OPTION "object-key"
75 #define USER_KEY_OPTION "user-key"
76 #define NAMESPACE_OPTION "namespace"
77 #define PERSISTENT_OPTION "persistent"
78 #define FAST_STORAGE_OPTION "fast-storage"
79 #define MOVABLE_OPTION "movable"
80 #define CACHEABLE_OPTION "cacheable"
81 #define NETSCHEDULE_OPTION "netschedule"
82 #define WORKER_NODE_OPTION "worker-node"
83 #define INPUT_OPTION "input"
84 #define INPUT_FILE_OPTION "input-file"
85 #define REMOTE_APP_ARGS_OPTION "remote-app-args"
86 #define OUTPUT_FILE_OPTION "output-file"
87 #define QUEUE_OPTION "queue"
88 #define BATCH_OPTION "batch"
89 #define AFFINITY_OPTION "affinity"
90 #define CLAIM_NEW_AFFINITIES_OPTION "claim-new-affinities"
91 #define ANY_AFFINITY_OPTION "any-affinity"
92 #define JOB_OUTPUT_OPTION "job-output"
93 #define JOB_OUTPUT_BLOB_OPTION "job-output-blob"
94 #define LIMIT_OPTION "limit"
95 #define TIMEOUT_OPTION "timeout"
96 #define RELIABLE_READ_OPTION "reliable-read"
97 #define CONFIRM_READ_OPTION "confirm-read"
98 #define ROLLBACK_READ_OPTION "rollback-read"
99 #define FAIL_READ_OPTION "fail-read"
100 #define JOB_ID_OPTION "job-id"
101 #define BRIEF_OPTION "brief"
102 #define WAIT_FOR_JOB_STATUS_OPTION "wait-for-job-status"
103 #define WAIT_FOR_JOB_EVENT_AFTER_OPTION "wait-for-job-event-after"
104 #define JOB_GROUP_OPTION "job-group"
105 #define WAIT_TIMEOUT_OPTION "wait-timeout"
106 #define FAIL_JOB_OPTION "fail-job"
107 #define ALL_QUEUES_OPTION "all-queues"
108 #define QUEUE_CLASSES_OPTION "queue-classes"
109 #define QUEUE_CLASS_OPTION "queue-class"
110 #define QUEUE_ARG "QUEUE"
111 #define SWITCH_ARG "SWITCH"
112 #define PULLBACK_OPTION "pullback"
113 #define WAIT_FOR_JOB_COMPLETION_OPTION "wait-for-job-completion"
114 #define NOW_OPTION "now"
115 #define DIE_OPTION "die"
116 #define DRAIN_OPTION "drain"
117 #define JOB_INPUT_DIR_OPTION "job-input-dir"
118 #define JOB_OUTPUT_DIR_OPTION "job-output-dir"
119 #define PROTOCOL_DUMP_OPTION "protocol-dump"
120 #define PASSWORD_OPTION "password"
121 #define OFFSET_OPTION "offset"
122 #define SIZE_OPTION "length"
123 #define FT_TOKEN_OPTION "ft-token"
124 #define DIRECT_MODE_OPTION "direct"
125 #define CLIENT_SESSION_OPTION "client-session"
126 
127 #define ATTR_VALUE_ARG "ATTR_VALUE"
128 
129 #define LOGIN_COMMAND "login"
130 #define JOBINFO_COMMAND "jobinfo"
131 #define READJOB_COMMAND "readjob"
132 #define WATCHJOB_COMMAND "watchjob"
133 #define QUEUEINFO_COMMAND "queueinfo"
134 #define SUSPEND_COMMAND "suspend"
135 
136 #define HUMAN_READABLE_OUTPUT_FORMAT "human-readable"
137 #define RAW_OUTPUT_FORMAT "raw"
138 #define JSON_OUTPUT_FORMAT "json"
139 
140 #define NETSCHEDULE_CHECK_QUEUE "netschedule_check_queue"
141 
142 #ifndef NCBI_OS_MSWIN
143 #define IO_BUFFER_SIZE (512 * 1024)
144 #else
145 #define IO_BUFFER_SIZE (16 * 1024)
146 #endif
147 
149 
150 enum EOption {
157 #ifdef NCBI_GRID_XSITE_CONN_SUPPORT
158  eAllowXSiteConn,
159 #endif
263 
265 
274 };
275 
281 };
282 
283 #define OPTION_ACCEPTED 1
284 #define OPTION_SET 2
285 #define OPTION_EXPLICITLY_SET 4
286 #define OPTION_N(number) (1 << number)
287 
288 class IJobInfoProcessor;
289 
291 {
292 public:
293  CGridCommandLineInterfaceApp(int argc, const char* argv[]);
294 
295  virtual int Run();
296 
297  static void PrintLine(const string& line);
298 
299 private:
300  int m_ArgC;
301  const char** m_ArgV;
302 
304 
305  struct SOptions {
306  string id;
307  string auth;
308  string app_uid;
310  string nc_service;
311  string cache_name;
312  string app_domain;
313  string password;
314  size_t offset;
315  size_t size;
316  unsigned ttl;
317  string nst_service;
318  string ns_service;
319  string queue;
320  string affinity;
321  string job_output;
324  unsigned batch_size;
325  unsigned limit;
326  unsigned timeout;
327  string auth_token;
329  size_t job_count;
330  string job_statuses;
334  string client_node;
337  string job_group;
338  string queue_class;
342  string input;
347  string command;
348  istream* input_stream;
352  string attr_name;
353  string attr_value;
354  string service_name;
355  string ft_site;
356  string ft_token;
357 
358  struct SNCID {
359  string key;
360  int version;
361  string subkey;
362 
363  SNCID() : version(0), parts(0) {}
364  bool AddPart(const string& part);
365  void Parse(bool icache_mode, bool require_version);
366  bool HasVersion() const { return !ver.empty(); }
367 
368  private:
369  string ver;
370  int parts;
371  } ncid;
372 
374 
375  SOptions() : offset(0), size(0), ttl(0), return_code(0),
376  batch_size(0), limit(0), timeout(0), job_count(0),
377  job_status_mask(0),
382  {
383  memset(option_flags, 0, sizeof(option_flags));
384  }
386 
387 private:
388  CNetScheduleAPI::EJobStatus StringToJobStatus(const char* status_str);
389  bool ParseLoginToken(const string& token);
390 
392  {
394  }
395 
397  {
398  return (m_Opts.option_flags[option] & OPTION_ACCEPTED) != 0;
399  }
400 
402  {
403  return (m_Opts.option_flags[option] & OPTION_ACCEPTED) ? mask : 0;
404  }
405 
407  {
409  }
410 
412  {
414  }
415 
417  {
419  }
420 
421  bool IsOptionSet(int option) const
422  {
423  return (m_Opts.option_flags[option] & OPTION_SET) != 0;
424  }
425 
426  int IsOptionSet(int option, int mask) const
427  {
428  return (m_Opts.option_flags[option] & OPTION_SET) ? mask : 0;
429  }
430 
432  {
434  }
435 
437  {
439  }
440 
441  int IsOptionExplicitlySet(int option, int mask) const
442  {
444  }
445 
453  unique_ptr<CGridClient> m_GridClient;
458 
459 // NetCache commands.
460 public:
461  int Cmd_GetBlob();
462  int Cmd_PutBlob();
463  int Cmd_BlobInfo();
464  int Cmd_RemoveBlob();
465  int Cmd_Purge();
466 
467 // NetStorage commands.
468 public:
469  int Cmd_Upload();
470  int Cmd_Download();
471  int Cmd_Relocate();
474  int Cmd_CreateLoc();
475  int Cmd_GetAttrList();
476  int Cmd_GetAttr();
477  int Cmd_SetAttr();
478 
479 // NetSchedule commands.
480 public:
481  int Cmd_JobInfo();
482  int Cmd_SubmitJob();
483  int Cmd_WatchJob();
484  int Cmd_GetJobInput();
485  int Cmd_GetJobOutput();
486  int Cmd_ReadJob();
487  int Cmd_CancelJob();
488  int Cmd_RequestJob();
489  int Cmd_CommitJob();
490  int Cmd_ReturnJob();
491  int Cmd_ClearNode();
492  int Cmd_UpdateJob();
493  int Cmd_QueueInfo();
494  int Cmd_DumpQueue();
495  int Cmd_CreateQueue();
496  int Cmd_GetQueueList();
497  int Cmd_DeleteQueue();
498 
499  int Cmd_Replay();
500 
501 // Miscellaneous commands.
502 public:
503  int Cmd_WhatIs();
504  int Cmd_Login();
505  int Cmd_ServerInfo();
506  int Cmd_Stats();
507  int Cmd_Health();
508  int Cmd_SanityCheck();
509  int Cmd_GetConf();
510  int Cmd_Reconf();
511  int Cmd_Drain();
512  int Cmd_Suspend();
513  int Cmd_Resume();
514  int Cmd_Shutdown();
515  int Cmd_Discover();
516  int Cmd_Exec();
517  int Cmd_Automate();
518 
519 // Implementation details.
520 private:
521  static bool OnWarning(bool worker_node_admin, const string& warn_msg, CNetServer server);
522 
523  enum EAPIClass {
535 
539  };
540 
541  void SetUp_AdminCmd(EAdminCmdSeverity cmd_severity);
542  int NetCacheSanityCheck();
544  void SetUp_NetCache();
545  void SetUp_NetCacheCmd(bool icache_mode, bool require_version = true, bool require_service = true);
547  void SetUp_NetCacheAdminCmd(EAdminCmdSeverity cmd_severity);
548 
549  static void PrintBlobMeta(const CNetCacheKey& key);
550  void PrintServerAddress(CNetServer server);
551  void SetUp_NetScheduleCmd(EAPIClass api_class,
552  EAdminCmdSeverity cmd_severity = eReadOnlyAdminCmd, bool require_queue = true);
555  CNetScheduleNotificationHandler& submit_job_handler,
556  const string& job_key,
557  const string& server_host);
558  void CheckJobInputStream(CNcbiOstream& job_input_ostream);
560  size_t max_embedded_input_size,
561  const string& args,
562  CNcbiIstream& remote_app_stdin,
563  CNcbiOstream& job_input_ostream);
564  void x_LoadJobInput(
565  size_t max_embedded_input_size,
566  CNcbiOstream &job_input_ostream);
567  void SubmitJob_Batch();
568  int DumpJobInputOutput(const string& data_or_blob_id);
570 
571  void NetSchedule_SuspendResume(bool suspend);
572  int PrintNetScheduleStats();
574 
575  void SetUp_NetStorageCmd(EAPIClass api_class,
576  EAdminCmdSeverity cmd_severity = eReadOnlyAdminCmd);
577  void NetStorage_PrintServerReply(CJsonNode& server_reply);
583  void CheckNetStorageOptions() const;
584 
585  int Automation_PipeServer();
587 
588  void ReadFromCin();
589 };
590 
592 
593 #endif // GRID_CLI__HPP
ncbi::TMaskedQueryRegions mask
Pool of recycled CCompoundID objects.
static bool OnWarning(bool worker_node_admin, const string &warn_msg, CNetServer server)
Definition: grid_cli.cpp:1749
int DumpJobInputOutput(const string &data_or_blob_id)
Definition: ns_cmds.cpp:747
CCompoundIDPool m_CompoundIDPool
Definition: grid_cli.hpp:457
bool IsOptionSet(int option) const
Definition: grid_cli.hpp:421
unique_ptr< CGridClient > m_GridClient
Definition: grid_cli.hpp:453
void SetUp_NetScheduleCmd(EAPIClass api_class, EAdminCmdSeverity cmd_severity=eReadOnlyAdminCmd, bool require_queue=true)
Definition: ns_cmds.cpp:47
bool IsOptionAccepted(EOption option) const
Definition: grid_cli.hpp:396
int IsOptionExplicitlySet(int option, int mask) const
Definition: grid_cli.hpp:441
struct CGridCommandLineInterfaceApp::SOptions m_Opts
void PrepareRemoteAppJobInput(size_t max_embedded_input_size, const string &args, CNcbiIstream &remote_app_stdin, CNcbiOstream &job_input_ostream)
Definition: ns_cmds.cpp:371
void MarkOptionAsExplicitlySet(int option)
Definition: grid_cli.hpp:431
CNetICacheClient m_NetICacheClient
Definition: grid_cli.hpp:448
CNetScheduleSubmitter m_NetScheduleSubmitter
Definition: grid_cli.hpp:451
void JobInfo_PrintStatus(CNetScheduleAPI::EJobStatus status)
Definition: ns_cmds.cpp:165
CNetScheduleAdmin m_NetScheduleAdmin
Definition: grid_cli.hpp:450
bool IsOptionAcceptedAndSetImplicitly(EOption option) const
Definition: grid_cli.hpp:411
void MarkOptionAsAccepted(int option)
Definition: grid_cli.hpp:391
void PrintNetScheduleStats_Generic(ENetScheduleStatTopic topic)
bool ParseLoginToken(const string &token)
Definition: grid_cli.cpp:1793
CNetScheduleAPIExt m_NetScheduleAPI
Definition: grid_cli.hpp:449
int IsOptionAccepted(EOption option, int mask) const
Definition: grid_cli.hpp:401
CNetStorageAdmin m_NetStorageAdmin
Definition: grid_cli.hpp:456
void MarkOptionAsSet(int option)
Definition: grid_cli.hpp:416
CGridCommandLineInterfaceApp(int argc, const char *argv[])
Definition: grid_cli.cpp:54
void PrintServerAddress(CNetServer server)
Definition: nc_cmds.cpp:210
void PrintJobStatusNotification(CNetScheduleNotificationHandler &submit_job_handler, const string &job_key, const string &server_host)
Definition: ns_cmds.cpp:340
enum CGridCommandLineInterfaceApp::EAPIClass m_APIClass
void NetStorage_PrintServerReply(CJsonNode &server_reply)
Definition: nst_cmds.cpp:185
void NetSchedule_SuspendResume(bool suspend)
Definition: adm_cmds.cpp:456
int PrintJobAttrsAndDumpInput(const CNetScheduleJob &job)
Definition: ns_cmds.cpp:824
static void PrintLine(const string &line)
Definition: grid_cli.cpp:1775
bool IsOptionExplicitlySet(int option) const
Definition: grid_cli.hpp:436
void x_LoadJobInput(size_t max_embedded_input_size, CNcbiOstream &job_input_ostream)
Definition: ns_cmds.cpp:458
CNetScheduleExecutor m_NetScheduleExecutor
Definition: grid_cli.hpp:452
void CheckNetStorageOptions() const
Definition: nst_cmds.cpp:175
CNetStorageByKey m_NetStorageByKey
Definition: grid_cli.hpp:455
bool IsOptionAcceptedButNotSet(EOption option) const
Definition: grid_cli.hpp:406
void CheckJobInputStream(CNcbiOstream &job_input_ostream)
Definition: ns_cmds.cpp:363
void SetUp_AdminCmd(EAdminCmdSeverity cmd_severity)
Definition: adm_cmds.cpp:41
void SetUp_NetStorageCmd(EAPIClass api_class, EAdminCmdSeverity cmd_severity=eReadOnlyAdminCmd)
Definition: nst_cmds.cpp:41
void SetUp_NetCacheAdminCmd(EAdminCmdSeverity cmd_severity)
Definition: nc_cmds.cpp:113
CNetCacheAdmin m_NetCacheAdmin
Definition: grid_cli.hpp:447
int IsOptionSet(int option, int mask) const
Definition: grid_cli.hpp:426
CNetStorageObject GetNetStorageObject()
Definition: nst_cmds.cpp:158
virtual int Run()
Run the application.
Definition: grid_cli.cpp:1299
CNetScheduleAPI::EJobStatus StringToJobStatus(const char *status_str)
Definition: grid_cli.cpp:1780
static void PrintBlobMeta(const CNetCacheKey &key)
Definition: nc_cmds.cpp:129
JSON node abstraction.
Client API for NetCache server.
Client to NetCache server (implements ICache interface)
Smart pointer to a part of the NetSchedule API that does job retrieval and processing on the worker n...
Smart pointer to the job submission part of the NetSchedule API.
Network BLOB storage API – with access by user-defined keys.
Definition: netstorage.hpp:471
Basic network-based data object I/O.
Definition: netstorage.hpp:167
Network BLOB storage API.
Definition: netstorage.hpp:368
Declarations of CCompoundIDPool, CCompoundID, and CCompoundIDField.
#define option
EOutputFormat
Definition: grid_cli.hpp:276
@ eRaw
Definition: grid_cli.hpp:278
@ eHumanReadable
Definition: grid_cli.hpp:277
@ eJSON
Definition: grid_cli.hpp:279
@ eNumberOfOutputFormats
Definition: grid_cli.hpp:280
#define OPTION_SET
Definition: grid_cli.hpp:284
#define OPTION_ACCEPTED
Definition: grid_cli.hpp:283
EOption
Definition: grid_cli.hpp:150
@ eNoMetaData
Definition: grid_cli.hpp:189
@ eStartAfterJob
Definition: grid_cli.hpp:217
@ eID
Definition: grid_cli.hpp:153
@ eWaitForJobStatus
Definition: grid_cli.hpp:225
@ eFailRead
Definition: grid_cli.hpp:208
@ eRemoteAppArgs
Definition: grid_cli.hpp:165
@ eSwitchArg
Definition: grid_cli.hpp:240
@ eDie
Definition: grid_cli.hpp:244
@ eRemoteAppStdIn
Definition: grid_cli.hpp:166
@ eDirectMode
Definition: grid_cli.hpp:260
@ eQueueDescription
Definition: grid_cli.hpp:239
@ eCache
Definition: grid_cli.hpp:172
@ eProgressMessageOnly
Definition: grid_cli.hpp:223
@ ePreviousInterval
Definition: grid_cli.hpp:252
@ eClientSession
Definition: grid_cli.hpp:267
@ eReliableRead
Definition: grid_cli.hpp:205
@ eCommand
Definition: grid_cli.hpp:268
@ eAuth
Definition: grid_cli.hpp:162
@ eAffinityInfo
Definition: grid_cli.hpp:214
@ eReturnCode
Definition: grid_cli.hpp:202
@ eWaitForJobCompletion
Definition: grid_cli.hpp:242
@ eNCID
Definition: grid_cli.hpp:258
@ eVerbose
Definition: grid_cli.hpp:220
@ eRollbackRead
Definition: grid_cli.hpp:207
@ eFastStorage
Definition: grid_cli.hpp:186
@ eMultiline
Definition: grid_cli.hpp:269
@ eWaitTimeout
Definition: grid_cli.hpp:231
@ eDeferExpiration
Definition: grid_cli.hpp:224
@ eJobStatus
Definition: grid_cli.hpp:219
@ eQueueArg
Definition: grid_cli.hpp:233
@ eReportProgress
Definition: grid_cli.hpp:262
@ eDumpNSNotifications
Definition: grid_cli.hpp:272
@ eFailJob
Definition: grid_cli.hpp:232
@ eCacheable
Definition: grid_cli.hpp:188
@ eNoConnRetries
Definition: grid_cli.hpp:160
@ eLimit
Definition: grid_cli.hpp:203
@ eNoDNSLookup
Definition: grid_cli.hpp:257
@ eJobOutputBlob
Definition: grid_cli.hpp:201
@ eAppUID
Definition: grid_cli.hpp:154
@ eInputFile
Definition: grid_cli.hpp:164
@ eDrain
Definition: grid_cli.hpp:245
@ eNotificationInfo
Definition: grid_cli.hpp:213
@ eAttrValue
Definition: grid_cli.hpp:156
@ eAttrName
Definition: grid_cli.hpp:155
@ eDebugConsole
Definition: grid_cli.hpp:271
@ eAnyAffinity
Definition: grid_cli.hpp:198
@ eAffinityList
Definition: grid_cli.hpp:195
@ eClaimNewAffinities
Definition: grid_cli.hpp:197
@ eLoginToken
Definition: grid_cli.hpp:161
@ eJobInputDir
Definition: grid_cli.hpp:247
@ eQueueClasses
Definition: grid_cli.hpp:235
@ eClientNode
Definition: grid_cli.hpp:266
@ eRemoteAppStdOut
Definition: grid_cli.hpp:167
@ eJobId
Definition: grid_cli.hpp:210
@ eOutputFormat
Definition: grid_cli.hpp:170
@ eNetCache
Definition: grid_cli.hpp:171
@ eAuthToken
Definition: grid_cli.hpp:204
@ eNumberOfOptions
Definition: grid_cli.hpp:273
@ eFileTrackToken
Definition: grid_cli.hpp:254
@ eNetStorage
Definition: grid_cli.hpp:181
@ ePassword
Definition: grid_cli.hpp:174
@ eAffinity
Definition: grid_cli.hpp:194
@ eProtocolDump
Definition: grid_cli.hpp:270
@ eJobOutputDir
Definition: grid_cli.hpp:248
@ eQueueClass
Definition: grid_cli.hpp:238
@ eCompatMode
Definition: grid_cli.hpp:246
@ eTargetQueueArg
Definition: grid_cli.hpp:236
@ eBrief
Definition: grid_cli.hpp:221
@ eTTL
Definition: grid_cli.hpp:177
@ eMovable
Definition: grid_cli.hpp:187
@ eJobGroupInfo
Definition: grid_cli.hpp:211
@ eNetSchedule
Definition: grid_cli.hpp:190
@ eInput
Definition: grid_cli.hpp:163
@ eSize
Definition: grid_cli.hpp:176
@ ePersistent
Definition: grid_cli.hpp:185
@ eRemoteAppStdErr
Definition: grid_cli.hpp:168
@ eNoServerCheck
Definition: grid_cli.hpp:261
@ eErrorMessage
Definition: grid_cli.hpp:209
@ eJobCount
Definition: grid_cli.hpp:218
@ eExtendedOptionDelimiter
Definition: grid_cli.hpp:264
@ eNamespace
Definition: grid_cli.hpp:184
@ eOptionalID
Definition: grid_cli.hpp:152
@ eJobsByStatus
Definition: grid_cli.hpp:216
@ eCacheArg
Definition: grid_cli.hpp:173
@ eConfirmRead
Definition: grid_cli.hpp:206
@ eUntypedArg
Definition: grid_cli.hpp:151
@ eServiceName
Definition: grid_cli.hpp:256
@ eExtendLifetime
Definition: grid_cli.hpp:227
@ eAggregationInterval
Definition: grid_cli.hpp:251
@ eEnableMirroring
Definition: grid_cli.hpp:178
@ eOptionalNCID
Definition: grid_cli.hpp:259
@ eNow
Definition: grid_cli.hpp:243
@ eActiveJobCount
Definition: grid_cli.hpp:215
@ eExclusiveJob
Definition: grid_cli.hpp:199
@ eOutputFile
Definition: grid_cli.hpp:169
@ eTryAllServers
Definition: grid_cli.hpp:179
@ eQueue
Definition: grid_cli.hpp:191
@ eWaitForJobEventAfter
Definition: grid_cli.hpp:226
@ eAllQueues
Definition: grid_cli.hpp:234
@ eJobOutput
Definition: grid_cli.hpp:200
@ eDumpCGIEnv
Definition: grid_cli.hpp:249
@ eUsePreferredAffinities
Definition: grid_cli.hpp:196
@ eUseCompoundID
Definition: grid_cli.hpp:180
@ eDumpCGIStdIn
Definition: grid_cli.hpp:250
@ eWorkerNode
Definition: grid_cli.hpp:192
@ ePullback
Definition: grid_cli.hpp:241
@ eBatch
Definition: grid_cli.hpp:193
@ eProgressMessage
Definition: grid_cli.hpp:228
@ eOffset
Definition: grid_cli.hpp:175
@ eClientInfo
Definition: grid_cli.hpp:212
@ eFileTrackSite
Definition: grid_cli.hpp:253
@ eQueueClassArg
Definition: grid_cli.hpp:237
@ eObjectKey
Definition: grid_cli.hpp:182
@ eMirror
Definition: grid_cli.hpp:255
@ eUserKey
Definition: grid_cli.hpp:183
@ eAllJobs
Definition: grid_cli.hpp:230
@ eJobGroup
Definition: grid_cli.hpp:229
@ eStatusOnly
Definition: grid_cli.hpp:222
#define OPTION_EXPLICITLY_SET
Definition: grid_cli.hpp:285
NetSchedule Framework specs.
#define NULL
Definition: ncbistd.hpp:225
EJobStatus
Job status codes.
unsigned TNetStorageFlags
Bitwise OR of ENetStorageFlags.
Definition: netstorage.hpp:147
#define kMax_Int
Definition: ncbi_limits.h:184
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
Definition: ncbistre.hpp:149
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
Definition: ncbistre.hpp:146
enum ENcbiSwitch ESwitch
Aux.
const struct ncbi::grid::netcache::search::fields::KEY key
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
ENetScheduleStatTopic
void Parse(bool icache_mode, bool require_version)
Definition: nc_cmds.cpp:176
struct CGridCommandLineInterfaceApp::SOptions::SNCID ncid
char option_flags[eNumberOfOptions]
Definition: grid_cli.hpp:373
Meaningful information encoded in the NetCache key.
Job description.
Modified on Fri Sep 20 14:58:24 2024 by modify_doxy.py rev. 669887