globus_gra..._functions(3)
π globus_gra..._functions π
okay bestie, come sit with me π
this page is globus_gra..._functions(3), and it lives in the Library Functions Manual. It's the spot for the GRAM job functions β ping, job request, cancel, signal, status, callbacks, credential refresh, all of it. It's giving "the entire group chat of job operations" and honestly? we love that. It's long so we're doing it in parts, don't panic. β¨
π NAME π
globus_gram_client_job_functions β GRAM Job Functions.
GRAM Job Functions. (yes, it says it twice. no, I will not be explaining that. we move. π¦)
π SYNOPSIS π
β¨ Functions β¨
int globus_gram_client_register_ping (const char *resource_manager_contact, globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t register_callback, void *register_callback_arg)β sends a ping request to a GRAM service πΈ the register-with-a-callback flavor.int globus_gram_client_ping (const char *resource_manager_contact)β sends a ping request to a GRAM service πΈ the plain one.int globus_gram_client_get_jobmanager_version (const char *resource_manager_contact, globus_hashtable_t *extensions)β gets version information from a job manager πint globus_gram_client_register_get_jobmanager_version (const char *resource_manager_contact, globus_gram_client_attr_t attr, globus_gram_client_info_callback_func_t info_callback, void *callback_arg)β gets version information from a job manager without blocking π no waiting around, we're busy.int globus_gram_client_register_job_request (const char *resource_manager_contact, const char *description, int job_state_mask, const char *callback_contact, globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t register_callback, void *register_callback_arg)β sends a job request to a GRAM service πint globus_gram_client_job_request (const char *resource_manager_contact, const char *description, int job_state_mask, const char *callback_contact, char **job_contact)β sends a job request to a GRAM service πint globus_gram_client_register_job_request_with_info (const char *resource_manager_contact, const char *description, int job_state_mask, const char *callback_contact, globus_gram_client_attr_t attr, globus_gram_client_info_callback_func_t callback, void *callback_arg)β sends a job request to a GRAM service with an extensions-aware callback πint globus_gram_client_job_request_with_info (const char *resource_manager_contact, const char *description, int job_state_mask, const char *callback_contact, char **job_contact, globus_gram_client_job_info_t *info)β sends a job request to a GRAM service and parses extensions in the response πint globus_gram_client_job_cancel (const char *job_contact)β cancels a GRAM job πint globus_gram_client_register_job_cancel (const char *job_contact, globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t register_callback, void *register_callback_arg)β cancels a GRAM job πint globus_gram_client_job_signal (const char *job_contact, globus_gram_protocol_job_signal_t signal, const char *signal_arg, int *job_status, int *failure_code)β sends a signal to a GRAM job β‘int globus_gram_client_register_job_signal (const char *job_contact, globus_gram_protocol_job_signal_t signal, const char *signal_arg, globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t register_callback, void *register_callback_arg)β sends a signal to a GRAM job β‘int globus_gram_client_job_status (const char *job_contact, int *job_status, int *failure_code)β sends a status query to a GRAM job π«Άint globus_gram_client_register_job_status (const char *job_contact, globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t register_callback, void *register_callback_arg)β sends a status query to a GRAM job π«Άint globus_gram_client_register_job_status_with_info (const char *job_contact, globus_gram_client_attr_t attr, globus_gram_client_info_callback_func_t info_callback, void *callback_arg)β sends a status query to a GRAM job π«Άint globus_gram_client_job_status_with_info (const char *job_contact, globus_gram_client_job_info_t *info)β sends a status query to a GRAM job π«Άint globus_gram_client_job_callback_register (const char *job_contact, int job_state_mask, const char *callback_contact, int *job_status, int *failure_code)β registers a new callback contact to be notified for job state changes πint globus_gram_client_job_callback_unregister (const char *job_contact, const char *callback_contact, int *job_status, int *failure_code)β unregisters a callback contact to stop job state change notifications πint globus_gram_client_job_refresh_credentials (char *job_contact, gss_cred_id_t creds)β delegates a new credential to a job πint globus_gram_client_register_job_refresh_credentials (char *job_contact, gss_cred_id_t creds, globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t register_callback, void *register_callback_arg)β delegates a new credential to a job πint globus_gram_client_register_job_callback_registration (const char *job_contact, int job_state_mask, const char *callback_contact, globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t register_callback, void *register_callback_arg)β registers a new callback contact to be notified for job state changes πint globus_gram_client_register_job_callback_unregistration (const char *job_contact, const char *callback_contact, globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t register_callback, void *register_callback_arg)β unregisters a callback contact to stop job state change notifications π
π¦ Detailed Description π¦
GRAM Job Functions. that's the whole vibe. periodt. π
π Function Documentation π
π int globus_gram_client_get_jobmanager_version (const char * resource_manager_contact, globus_hashtable_t * extensions)
gets version information from a job manager π
so the globus_gram_client_get_jobmanager_version() function sends a message to a GRAM service, and that service sends back info about the job manager version in the value pointed to by the extensions parameter. that's the whole deal. π«
β οΈ heads up bestie: job managers from before GT5 do not support the version request, so they'll hand you back a GLOBUS_GRAM_PROTOCOL_ERROR_HTTP_UNPACK_FAILED error. not a you problem, just an old-service problem. π
and yeah β this function blocks while processing this request. it's gonna sit there and wait, no multitasking. π
π Parameters
resource_manager_contactβ aNULL-terminated character string holding a GRAM contact. π«Άextensionsβ a pointer to a hash table that gets initialized to hold the version information the service sends back. the extensions defined by GRAM5 aretoolkit-versionandversion. β¨
π Returns
when it works, globus_gram_client_get_jobmanager_version() returns GLOBUS_SUCCESS and modifies the extensions parameter exactly like we said above. π
if something goes wrong, you get an integer error code back, and the value pointed to by the extensions parameter is undefined β like, genuinely undefined, don't touch it. π
π Return values
GLOBUS_SUCCESSβ success βGLOBUS_GRAM_PROTOCOL_ERROR_BAD_GATEKEEPER_CONTACTβ bad gatekeeper contact πGLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETERβNULLparameter πGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ out of memory πGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ protocol failed β οΈGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ invalid job contact π«GLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ invalid request π«GLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ no resources πͺ«
π int globus_gram_client_job_callback_register (const char * job_contact, int job_state_mask, const char * callback_contact, int * job_status, int * failure_code)
registers a new callback contact to be notified for job state changes π
okay so globus_gram_client_job_callback_register() contacts a GRAM service that's managing a job and tells it: hey, send all the subsequent job state callbacks to the client that's listening for callbacks at the contact url named by the callback_contact parameter. π¬
and this function blocks until the registration operation either completes or exits. it commits. π
π Parameters
job_contactβ the job contact string of the job you're contacting. it's the same value you got back fromglobus_gram_client_job_request(). π«Άjob_state_maskβ a bitwise-or of theGLOBUS_GRAM_PROTOCOL_JOB_STATE_*states that the job manager will send job state notification messages for, over to the contact named bycallback_contact. πcallback_contactβ a URL string containing a GRAM client callback. normally this string gets generated by a process callingglobus_gram_client_callback_allow(). β¨job_statusβ an output parameter pointing to an integer, set to the status of the job after the registration message has been processed. πfailure_codeβ an output parameter that points to an integer, set to the reason why the job failed if its current status isGLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILED. if the job has not failed, the value gets set to0. π«Ά
π Returns
on success, globus_gram_client_job_callback_register() returns GLOBUS_SUCCESS, sends a registration request to the job named by job_contact, and parses the service response β modifying the values pointed to by the job_status and failure_code parameters exactly as described above. π
if an error happens, globus_gram_client_job_callback_register() returns an integer error code telling you why it can't register the callback contact. and heads up: the return code can be any value defined by the globus_gram_protocol_error_t enumeration, on top of the ones listed below. so don't get comfy with this list. π
π Return values
GLOBUS_GRAM_SUCCESSβ success βGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ out of memory πGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ protocol error β οΈGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ invalid job contact π«GLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ invalid request π«GLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ no resources πͺ«
π int globus_gram_client_job_callback_unregister (const char * job_contact, const char * callback_contact, int * job_status, int * failure_code)
unregisters a callback contact to stop job state change notifications π
globus_gram_client_job_callback_unregister() contacts a GRAM service that's managing a job and tells it to stop sending job state callbacks to the client listening for callbacks at the contact url named by the callback_contact parameter. bye bye notifications π«Ά
this function blocks until the unregistration operation either completes or exits.
β οΈ and lowkey important: it is possible that callbacks related to the job arrive at the contact after this function returns, depending on network delays. so don't act brand new when a stray callback shows up. π
Parameters
job_contactβ the job contact string of the job you're trying to reach, bestie. It's literally the same value that came back out ofglobus_gram_client_job_request(). Same string, no glow-up needed. β¨callback_contactβ a URL string holding a GRAM client callback. Usually this is the lil string that a process got handed byglobus_gram_client_callback_allow(). πjob_statusβ an output parameter, so it points at an integer, and that integer gets set to the status of the job after the registration message has been fully processed. Not before. After. πfailure_codeβ another output parameter pointing at an integer, this one set to the reason the job failed if its current status isGLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILED. And if the job hasn't failed? The value gets set to0. Chill. π«Ά
Returns
On a slay, globus_gram_client_job_callback_unregister() returns GLOBUS_SUCCESS, fires off an unregister request to the job named by job_contact, and parses the service response, updating the values pointed to by job_status and failure_code exactly the way described above. π
If something goes wrong, globus_gram_client_job_callback_unregister() returns an integer error code telling you why it couldn't unregister the callback contact. And heads up β that return code can be any value defined by the globus_gram_protocol_error_t enumeration, plus the ones listed below. So don't be shocked if you see something not on the list. π
Return values
GLOBUS_GRAM_SUCCESSβ Success πGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
int globus_gram_client_job_cancel (const char * job_contact)
Cancel a GRAM job. π
The globus_gram_client_job_cancel() function cancels a GRAM job. Depending on whatever state the job is currently in, this cancellation might be immediate, or it might need a lil delay while it interacts with the LRM servicing the job. Patience, queen. π§
Notification that the job has been successfully canceled gets sent to all client contacts registered for notifications, and it goes out after the cancellation has been completely processed. So no jumping the gun.
And unlike globus_gram_client_register_job_cancel(), the globus_gram_client_job_cancel() function blocks until the job cancel request has been processed by the service. Blocking. Sitting there. Waiting. π
Parameters
job_contactβ aNULL-terminated character string containing a GRAM job contact that this function will contact in order to cancel the job.
Returns
Upon succes (yep, the original said "succes", we're keeping it, it's iconic), globus_gram_client_job_cancel() returns GLOBUS_SUCCESS if the cancellation was successfully posted to the service. If an error occurs, globus_gram_client_job_cancel() returns one of the #globus_gram_protocol_error_t values values indicating why the client could not cancel the job. π₯
See also
globus_gram_client_register_job_cancel()
int globus_gram_client_job_refresh_credentials (char * job_contact, gss_cred_id_t creds)
Delegate a new credential to a job. π
The globus_gram_client_job_refresh_credentials() function sends a "renew" signal to a GRAM service and then kicks off the delegation of a new credential to the job manager and to the job. This is the whole point: it prevents the errors that happen when a credential expires. Nobody wants an expired-credential situation mid-job, fr fr. π«Ά
This function blocks until the delegation has either completed or failed. It is not out here multitasking.
Parameters
job_contactβ the job contact string of the job to contact. Same value that came back fromglobus_gram_client_job_request(). πcredsβ a GSSAPI credential handle which will be used to authenticate with the job manager and sign the delegated credential. You can set this parameter's value toGSS_C_NO_CREDENTIALto say "yeah just use this process's default credential". πΈ
Returns
Upon success, globus_gram_client_job_refresh_credentials() returns GLOBUS_SUCCESS, sends an proxy renew request the job named by job_contact, parses the service response and performs a GSSAPI delegation to send a new credential to the job service. β¨
If an error occurs, globus_gram_client_job_refresh_credentials() returns an integer error code indicating why it can't refresh the job service's credential. That return code may be any value defined by the globus_gram_protocol_error_t enumeration, in addition to the ones listed below. π
Return values
GLOBUS_GRAM_SUCCESSβ Success πGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
int globus_gram_client_job_request (const char * resource_manager_contact, const char * description, int job_state_mask, const char * callback_contact, char ** job_contact)
Send a job request to a GRAM service. π¨
The globus_gram_client_job_request() function sends a GRAM protocol message to a service, asking it to start a job on behalf of the client. And unlike globus_gram_client_register_job_request(), globus_gram_client_job_request() blocks until the job request has been processed by the service. Main character energy: it waits for its moment. π
Parameters
resource_manager_contactβ aNULL-terminated character string containing a GRAM contact that this function will contact.descriptionβ a pointer to a string containing the job request information, formatted in RSL syntax.job_state_maskβ a bitwise-or of theGLOBUS_GRAM_PROTOCOL_JOB_STATE_*states that the job manager will send job state notification messages for, delivered to the contact named bycallback_contact.callback_contactβ a GRAM listener contact that the job manager will send job state notification messages to.job_contactβ an output parameter pointing to a string that will be set to the job contact for this job. Important: this value is only set if the job request is successful, or if the two-phase commit protocol is being used and the return code isGLOBUS_GRAM_PROTOCOL_ERROR_WAITING_FOR_COMMIT. That's the only two ways, bestie. π
Returns
Upon success, globus_gram_client_job_request() returns GLOBUS_SUCCESS and modifies the value pointed to by job_contact as described above. If an error occurs, this function returns an integer error code and the value pointed to by job_contact. In addition to the error codes described below, any #globus_gram_protocol_error_t value may be returned as a cause for the job to fail. π
Return values
GLOBUS_SUCCESSβ Success πGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
int globus_gram_client_job_request_with_info (const char * resource_manager_contact, const char * description, int job_state_mask, const char * callback_contact, char ** job_contact, globus_gram_client_job_info_t * info)
Send a job request to a GRAM service and parse extensions in the response. π¦
The globus_gram_client_job_request_with_info() function sends a GRAM protocol message to a service to request that it start a job on behalf of the client. And unlike globus_gram_client_register_job_request_with_info(), globus_gram_client_job_request_with_info() blocks until the job request has been processed by the service. Yeah, same blocking situation as its sibling. It's the vibe. β¨
Parameters
resource_manager_contactβ aNULL-terminated character string containing a GRAM contact that this function will contact.descriptionβ a pointer to a string containing the job request information formatted in RSL syntax.job_state_maskβ a bitwise-or of theGLOBUS_GRAM_PROTOCOL_JOB_STATE_*states that the job manager will send job state notification messages for, to the contact named bycallback_contact.callback_contactβ a GRAM listener contact that the job manager will send job state notification messages to.job_contactβ an output parameter pointing to a string that will be set to the job contact for this job. Again: this value is only set if the job request is successful, or if the two-phase commit protocol is being used and the return code isGLOBUS_GRAM_PROTOCOL_ERROR_WAITING_FOR_COMMIT. π₯infoβ an output parameter pointing to a structure to hold the extensions in the GRAM response. And listen, the caller is responsible for destroying this by calling theglobus_gram_client_job_info_destroy()function. Do not forget. Memory leaks are not the move. π
Returns
Upon success, globus_gram_client_job_request_with_info() returns GLOBUS_SUCCESS and modifies the values pointed to by job_contact and info as described above. If an error occurs, this function returns an integer error code and the value pointed to by job_contact. In addition to the error codes described below, any #globus_gram_protocol_error_t value may be returned as a cause for the job to fail. π
Return values
GLOBUS_SUCCESSβ Success πGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
int globus_gram_client_job_signal (const char * job_contact, globus_gram_protocol_job_signal_t signal, const char * signal_arg, int * job_status, int * failure_code)
Send a signal a GRAM job. π£
The globus_gram_client_job_signal() function sends a signal message to a job managed by the GRAM service. Signals consist of a signal number and an optional string argument. The meanings of the signals supported by the GRAM job manager are defined over in the GRAM Protocol documentation β go read it, iykyk. π
And unlike globus_gram_client_register_job_signal(), this function blocks until the signal has been delivered and acknowledged by the GRAM service. Acknowledged. Both. π
Parameters
job_contactβ the job contact string of the job manager to contact. This is the same value returned fromglobus_gram_client_job_request().signalβ the signal code to send to the job manager.signal_argβ parameters for the signal, as described in the documentation for the#globus_gram_protocol_job_signal_tenumeration.job_statusβ an output parameter pointing to an integer to set to the status of the job after the signal has been processed. πΈfailure_codeβ an output parameter pointing to an integer to set to the reason why the job has failed if the value pointed to byjob_statusis set toGLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILEDby this function. π
Returns β¨
okay so when globus_gram_client_job_signal() succeeds, it returns GLOBUS_SUCCESS after it sends the signal and gets a response back, and it updates the job_status and failure_code parameters exactly like we said above. But if something goes wrong? It returns an integer error code that tells you why the client couldn't signal the job. π
Return values π
GLOBUS_GRAM_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
See also π
globus_gram_client_register_job_signal()
int globus_gram_client_job_status (const char * job_contact, int * job_status, int * failure_code) πΈ
Send a status query to a GRAM job. The globus_gram_client_status() function queries the current status of the job associated with the job contact, returning its current status, as well as the job's failure reason if it has failed in this function's return parameters. This function blocks until the service has responded to the status query. No cap, it just waits. π
Parameters π
job_contactβ The job contact string of the job to query. This is the same value returned fromglobus_gram_client_job_request().job_statusβ An output parameter that points to an integer to be set to the current status of the job named by thejob_contactparameter.failure_codeβ An output parameter that points to an integer to be set to the reason why the job failed if its current status isGLOBUS_GRAM_PROTOCOL_JOB_STATE_FAILED. If the job has not failed, the value will be set to0.
Returns β¨
Upon success, the globus_gram_client_job_status() function returns GLOBUS_SUCCESS, sends a job state query to the job named by job_contact and parses the service response, modifying the values pointed to by job_status and failure_code as described above. If an error occurs, globus_gram_client_job_status() returns an integer error code.
Return values π
GLOBUS_GRAM_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
int globus_gram_client_job_status_with_info (const char * job_contact, globus_gram_client_job_info_t * info) π¦
Send a status query to a GRAM job. The globus_gram_client_status_with_info() function queries the current status of the job associated with the job contact, returning its current status, as well as the job's failure reason if it has failed in this function's return parameters. This function blocks until the service has responded to the status query. Again, it's a waiting game. π
Parameters πΈ
job_contactβ The job contact string of the job to query. This is the same value returned fromglobus_gram_client_job_request().infoβ An output parameter that points to aglobus_gram_client_job_info_tstructure which will be populated with the state information associated with the job named by thejob_contactparameter. The caller is responsible for callingglobus_gram_client_job_info_destroy()to free the state pointed to by this parameter if this function returnsGLOBUS_SUCCESS.
Returns β¨
Upon success, the globus_gram_client_job_status_with_info() function returns GLOBUS_SUCCESS, sends a job state query to the job named by job_contact and parses the service response, modifying the structure pointed to by info as described above. If an error occurs, globus_gram_client_job_status_with_info() returns an integer error code.
Return values π
GLOBUS_GRAM_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
int globus_gram_client_ping (const char * resource_manager_contact) π₯
Send a ping request to a GRAM service. The globus_gram_client_ping() function sends a specially-formatted GRAM protocol message which checks to see if a Gatekeeper is running on a given PORT, and whether that Gatekeeper is configured to support the desired job manager service. This is used for diagnostic purposes. It's like a vibe check for your Gatekeeper. π
Parameters π
resource_manager_contactβ ANULL-terminated character string containing a GRAM contact that this function will contact.
Returns β¨
Upon success, globus_gram_client_ping() contacts the gatekeeper service and returns GLOBUS_SUCCESS. If an error occurs, this function returns an integer error code.
Return values π
GLOBUS_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
int globus_gram_client_register_get_jobmanager_version (const char * resource_manager_contact, globus_gram_client_attr_t attr, globus_gram_client_info_callback_func_t info_callback, void * callback_arg) π
Get version information from a job manager without blocking. The globus_gram_client_register_get_jobmanager_version() function sends a message to a GRAM service which returns information about the job manager version to the function pointed to by the info_callback function. Note that job managers prior to GT5 do not support the version request and so will return a GLOBUS_GRAM_PROTOCOL_ERROR_HTTP_UNPACK_FAILED error. This function blocks while processing this request. So like, "without blocking" but then it says it blocks? We're just keeping it exactly as the original says, bestie. π
Parameters π
resource_manager_contactβ ANULL-terminated character string containing a GRAM contact.attrβ A set of client attributes to use to contact the gatekeeper. If no custom attributes are needed, the caller should pass the valueGLOBUS_GRAM_CLIENT_NO_ATTR.info_callbackβ A pointer to a function to call when the version request has completed or failed.callback_argβ A pointer to application-specific data which will be passed to the function pointed to byinfo_callbackas itsuser_callback_argparameter.
Returns β¨
Upon success, globus_gram_client_register_get_jobmanager_version() function returns GLOBUS_SUCCESS and begins processing the version request to contact resource_manager_contact; when complete, the info_callback function will be called. If an error occurs, the integer error code will be returned and the value pointed to by the extensions parameter is undefined.
Return values π
GLOBUS_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_BAD_GATEKEEPER_CONTACTβ Bad gatekeeper contactGLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETERβ NULL parameterGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol failedGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
int globus_gram_client_register_job_callback_registration (const char * job_contact, int job_state_mask, const char * callback_contact, globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t register_callback, void * register_callback_arg) π«Ά
Register a new callback contact to be notified for job state changes. The globus_gram_client_register_job_callback_registration() function initiates the protocol to contact a GRAM service and request that it send subsequent job state callbacks to the client listening for callbacks at the contact url named by the callback_contact parameter. This function returns as soon as it has validated its parameters and begun sending the GRAM message. When the registration is complete, the function pointed to by register_callback is called. So it's like, non-blocking, but then it calls you back. Iconic. π
Parameters π
job_contactβ The job contact string of the job to contact. This is the same value returned fromglobus_gram_client_job_request().job_state_maskβ A bitwise-or of theGLOBUS_GRAM_PROTOCOL_JOB_STATE_*states that the job manager will send job state notification messages for to the contact named bycallback_contact.callback_contactβ A URL string containing a GRAM client callback. This string is normally be generated by a process callingglobus_gram_client_callback_allow().attrβ A set of client attributes to use to contact the job. If no custom attributes are needed, the caller should pass the valueGLOBUS_GRAM_CLIENT_NO_ATTR.register_callbackβ A pointer to a function to call when the registration request has completed or failed.register_callback_argβ A pointer to application-specific data which will be passed to the function pointed to byregister_callbackas itsuser_callback_argparameter.
Returns β¨
Upon success, the globus_gram_client_register_job_callback_registration() function returns GLOBUS_SUCCESS, begins to send a registration request to the job named by job_contact, and schedules the register_callback to be called once the registration completes or fails. If an error occurs, this function returns an integer error code indicating why it can't process the request.
Return values π
GLOBUS_GRAM_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
See also π
globus_gram_client_job_callback_register()
π globus_gram_client_register_job_callback_unregistration
int globus_gram_client_register_job_callback_unregistration (const char *
job_contact, const char * callback_contact, globus_gram_client_attr_t
attr, globus_gram_client_nonblocking_func_t register_callback, void *
register_callback_arg)
okay bestie, this one is the "actually pls stop texting me" of GRAM calls π
. It kicks off the protocol to hit up a GRAM service and ask it to stop sending job state callbacks to the client that's been listening over at the contact url you name in the callback_contact parameter.
And the way it works? It returns the second it's validated your params and started shipping the GRAM message off. No waiting around, no main character patience π. When the unregistration actually wraps up, the function pointed to by register_callback gets called. periodt.
Parameters
job_contactβ the job contact string of the job you wanna contact. Same value you got back fromglobus_gram_client_job_request(). literally the same one, don't make up a new one π«Άcallback_contactβ a URL string holding a GRAM client callback. Normally this is generated by a process callingglobus_gram_client_callback_allow().attrβ the set of client attributes used to contact the job. If you don't need custom attributes, pass the valueGLOBUS_GRAM_CLIENT_NO_ATTR.register_callbackβ a pointer to a function to call once the registration request has completed or failed.register_callback_argβ a pointer to application-specific data that gets passed along to the function pointed to byregister_callbackas itsuser_callback_argparameter.
Returns
Upon success, globus_gram_client_register_job_callback_unregistration() returns GLOBUS_SUCCESS, starts sending an unregister request to the job named by job_contact, and schedules the function pointed to by the register_callback parameter to be called β¨. If something goes sideways, it returns an integer error code telling you why it couldn't process the unregister request.
Return values
GLOBUS_GRAM_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
See also
globus_gram_client_job_callback_unregister()
π₯ globus_gram_client_register_job_cancel
int globus_gram_client_register_job_cancel (const char * job_contact,
globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t
register_callback, void * register_callback_arg)
the "nvm bestie I'm done" call, iconic behavior honestly π. globus_gram_client_register_job_cancel() sends a message to a GRAM service to cancel a GRAM job.
Now here's the tea: depending on what state the job is in, the cancellation might be immediate or it might need a little delay while it interacts with the LRM servicing the job. Either way, this function returns as soon as it's able to start sending the message β it does not sit there waiting, she's booked and busy βοΈ. Once the cancellation has been completely processed, notification that the job was successfully canceled gets sent to all client contacts registered for notifications. everybody gets the news, no gatekeeping π.
Parameters
job_contactβ aNULL-terminated character string containing a GRAM job contact that this function will contact to cancel the job.attrβ the set of client attributes used to contact the job. If you don't need custom attributes, pass the valueGLOBUS_GRAM_CLIENT_NO_ATTR.register_callbackβ a pointer to a function to call when the job_request request has completed or failed.register_callback_argβ a pointer to application-specific data passed to the function pointed to byregister_callbackas itsuser_callback_argparameter.
Returns
Upon succes, globus_gram_client_register_job_cancel() returns GLOBUS_SUCCESS if the cancellation was successful posted to the service β
. If an error occurs, globus_gram_client_register_job_cancel() returns one an integer error code indicating why it could not cancel the job.
Return values
GLOBUS_GRAM_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
See also
globus_gram_client_job_cancel()
π¦ globus_gram_client_register_job_refresh_credentials
int globus_gram_client_register_job_refresh_credentials (char * job_contact,
gss_cred_id_t creds, globus_gram_client_attr_t attr,
globus_gram_client_nonblocking_func_t register_callback, void *
register_callback_arg)
this one is giving "self-care for your credentials" πΈ. globus_gram_client_register_job_refresh_credentials() sends a "renew" signal to a GRAM service, and then kicks off delegating a brand new credential to the job manager and the job. It's literally here to stop the errors that happen when a credential expires. and it returns as soon as it's figured out its params are valid and started sending the message to the GRAM service β snappy, no cap β‘.
Parameters
job_contactβ the job contact string of the job to contact. Same value you got back fromglobus_gram_client_job_request().credsβ a GSSAPI credential handle that will be used to authenticate with the job manager and sign the delegated credential. You can set this parameter's value toGSS_C_NO_CREDENTIALto say "yeah just use this process's default credential" π.attrβ the set of client attributes used to contact the job. If you don't need custom attributes, pass the valueGLOBUS_GRAM_CLIENT_NO_ATTR.register_callbackβ a pointer to a function to call when the status request has completed or failed.register_callback_argβ a pointer to application-specific data passed to the function pointed to byregister_callbackas itsuser_callback_argparameter.
Returns
Upon success, the globus_gram_client_job_refresh_credentials() function returns GLOBUS_SUCCESS and begins sending the "renew" request to the GRAM service π«. If an error occurs, globus_gram_client_job_refresh_credentials() returns an integer error code indicating why it can't refresh the job service's credential. Heads up bestie: the return code may be any value defined by the globus_gram_protocol_error_t enumeration, on top of the ones listed below π.
Return values
GLOBUS_GRAM_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
β¨ globus_gram_client_register_job_request
int globus_gram_client_register_job_request (const char *
resource_manager_contact, const char * description, int job_state_mask,
const char * callback_contact, globus_gram_client_attr_t attr,
globus_gram_client_nonblocking_func_t register_callback, void *
register_callback_arg)
the big one, the main event, the moment π. globus_gram_client_register_job_request() sends a GRAM protocol message to a service asking it to start a job on behalf of the client. it's giving "hi bestie, could you run this for me" π.
Now listen: if globus_gram_client_register_job_request() figures out that this request could not be processed before contacting the gatekeeper (like, say, a malformed resource_manager_contact), it will return an error, and the regiser_callback function will not be called π«. Otherwise, the success or failure can be determined by the operation_failure_code parameter passed to the function pointed to by the register_callback parameter.
Parameters
resource_manager_contactβ aNULL-terminated character string containing a GRAM contact that this function will contact.descriptionβ a pointer to a string containing the job request information formatted in RSL syntax.job_state_maskβ a bitwise-or of theGLOBUS_GRAM_PROTOCOL_JOB_STATE_*states that the job manager will send job state notification messages for, to the contact named bycallback_contact.callback_contactβ a GRAM listener contact that the job manager will send job state notification messages to.attrβ the set of client attributes used to contact the gatekeeper. If you don't need custom attributes, pass the valueGLOBUS_GRAM_CLIENT_NO_ATTR.register_callbackβ a pointer to a function to call when the job_request request has completed or failed.register_callback_argβ a pointer to application-specific data passed to the function pointed to byregister_callbackas itsuser_callback_argparameter.
Returns
Upon success, globus_gram_client_register_job_request() returns GLOBUS_SUCCESS and the register_callback function will be called once the job request operation completes π. If an error occurs, this function returns an integer error code and the function pointed to by the register_callback parameter will not be called. rip to that callback π.
Return values
GLOBUS_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
π globus_gram_client_register_job_request_with_info
int globus_gram_client_register_job_request_with_info (const char *
resource_manager_contact, const char * description, int job_state_mask,
const char * callback_contact, globus_gram_client_attr_t attr,
globus_gram_client_info_callback_func_t callback, void * callback_arg)
same energy as the one above but she came with extensions π
. globus_gram_client_register_job_request_with_info() sends a GRAM protocol message to a service asking it to start a job on behalf of the client β but with an extensions-aware callback. fancy. obsessed.
And just like before: if globus_gram_client_register_job_request_with_info() determines that this request could not be processed before contacting the gatekeeper (say it with me β a malformed resource_manager_contact π), it will return an error, and the callback function will not be called. Otherwise, the success or failure can be determined by the operation_failure_code parameter passed to the function pointed to by the callback parameter.
And the difference between this function and globus_gram_client_register_job_request()? It's the function signature of the callback function. that's it, that's the plot twist β¨
Parameters π
resource_manager_contactβ aNULL-terminated character string holding a GRAM contact that this function is gonna go contact. Like, actually reach out and touch. πdescriptionβ a pointer to a string with the job request info, formatted in RSL syntax. RSL or it didn't happen, bestie. β¨job_state_maskβ a bitwise-or of theGLOBUS_GRAM_PROTOCOL_JOB_STATE_*states that the job manager will send job state notification messages for, and it sends them to the contact named bycallback_contact. Basically it's you telling the job manager which updates you're subscribed to. π«Άcallback_contactβ a GRAM listener contact that the job manager will send those job state notification messages to. Your little mailbox. π¬attrβ a set of client attributes to use to contact the gatekeeper. If you don't need any custom attributes, pass the valueGLOBUS_GRAM_CLIENT_NO_ATTR. Default is a vibe. πcallbackβ a pointer to a function to call when thejob_requestrequest has completed or failed.callback_argβ a pointer to application-specific data, which will be passed to the functioncallbackpoints to, as itsuser_callback_argparameter. A lil snack you tuck into the callback's pocket. π
Returns πΈ
Upon success, globus_gram_client_register_job_request_with_info() returns GLOBUS_SUCCESS and your callback function gets called once the job request operation completes. If an error occurs, this function returns an integer error code and the function pointed to by the callback parameter will not be called. No callback, no crumbs. π
Return values
GLOBUS_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
π
globus_gram_client_register_job_signal
int globus_gram_client_register_job_signal (const char * job_contact,
globus_gram_protocol_job_signal_t signal, const char * signal_arg,
globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t
register_callback, void * register_callback_arg)
Send a signal a GRAM job. Okay so globus_gram_client_register_job_signal() fires off a signal message to a job that's managed by the GRAM service. A signal is a signal number plus an optional string argument β that's the whole shape of it. The meanings of the signals the GRAM job manager supports live in the GRAM Protocol documentation, so go read that if you're curious (iykyk). This function returns as soon as it's checked that its parameters are valid and it's started sending the message to the GRAM service. It does not wait around, she's booked and busy. π₯
Parameters
job_contactβ the job contact string of the job manager to contact. This is the same value that came back fromglobus_gram_client_job_request().signalβ the signal code to send to the job manager.signal_argβ parameters for the signal, as described in the documentation for the#globus_gram_protocol_job_signal_tenumeration.attrβ a set of client attributes to use to contact the job. If no custom attributes are needed, the caller should pass the valueGLOBUS_GRAM_CLIENT_NO_ATTR.register_callbackβ a pointer to a function to call when the signal request has completed or failed.register_callback_argβ a pointer to application-specific data, which will be passed to the functionregister_callbackpoints to, as itsuser_callback_argparameter.
Returns
Upon success, globus_gram_client_job_register_signal() returns GLOBUS_SUCCESS after beginning to send the signal to the GRAM job, and it registers the register_callback function to be called once that has completed. If an error occurs, this function returns an integer error code indicating why the client could not signal the job. π
Return values
GLOBUS_GRAM_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
See also
globus_gram_client_register_job_signal()
π¦ globus_gram_client_register_job_status
int globus_gram_client_register_job_status (const char * job_contact,
globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t
register_callback, void * register_callback_arg)
Send a status query to a GRAM job. globus_gram_client_register_job_status() kicks off a query of the current status of the job tied to the job_contact parameter. The job's status and failure code get handed over to the function register_callback points to. And this one returns as soon as it's begun requesting the job status β no waiting, no drama. π
Parameters
job_contactβ the job contact string of the job to query. This is the same value returned fromglobus_gram_client_job_request().attrβ a set of client attributes to use to contact the job. If no custom attributes are needed, the caller should pass the valueGLOBUS_GRAM_CLIENT_NO_ATTR.register_callbackβ a pointer to a function to call when the status request has completed or failed.register_callback_argβ a pointer to application-specific data, which will be passed to the functionregister_callbackpoints to, as itsuser_callback_argparameter.
Returns
Upon success, the globus_gram_client_register_job_status() function returns GLOBUS_SUCCESS, starts sending a job state query to the job named by job_contact, and registers the function register_callback points to so it gets called once the status query terminates or fails. If an error occurs, globus_gram_client_register_job_status() returns an integer error code. Simple as that. π
Return values
GLOBUS_GRAM_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resourcesGLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETERβ Null parameter
π§ globus_gram_client_register_job_status_with_info
int globus_gram_client_register_job_status_with_info (const char *
job_contact, globus_gram_client_attr_t attr,
globus_gram_client_info_callback_func_t info_callback, void *
callback_arg)
Send a status query to a GRAM job, but make it informative. globus_gram_client_register_job_status_with_info() initiates a query of the current status of the job associated with the job_contact parameter. The job information comes back through the job_info parameter passed to the function info_callback points to. And yes, this function also returns as soon as it has begun requesting the job status. Fast girl behavior. β
Parameters
job_contactβ the job contact string of the job to query. This is the same value returned fromglobus_gram_client_job_request().attrβ a set of client attributes to use to contact the job. If no custom attributes are needed, the caller should pass the valueGLOBUS_GRAM_CLIENT_NO_ATTR.info_callbackβ a pointer to a function to call when the status request has completed or failed.callback_argβ a pointer to application-specific data, which will be passed to the functioninfo_callbackpoints to, as itsuser_callback_argparameter.
Returns
Upon success, the globus_gram_client_register_job_status_with_info() function returns GLOBUS_SUCCESS, starts sending a job state query to the job named by job_contact, and registers the function info_callback points to so it's called once the status query terminates or fails. If an error occurs, globus_gram_client_register_job_status_with_info() returns an integer error code. π
Return values
GLOBUS_GRAM_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resourcesGLOBUS_GRAM_PROTOCOL_ERROR_NULL_PARAMETERβ Null parameter
π globus_gram_client_register_ping
int globus_gram_client_register_ping (const char * resource_manager_contact,
globus_gram_client_attr_t attr, globus_gram_client_nonblocking_func_t
register_callback, void * register_callback_arg)
Send a ping request to a GRAM service. globus_gram_client_register_ping() sends a specially-formatted GRAM protocol message that checks whether a Gatekeeper is even running on a given PORT, and whether that Gatekeeper is configured to support the job manager service you want. This one is purely for diagnostic purposes β it's the "hey bestie, you up?" of the GRAM protocol. π
If globus_gram_client_register_ping() figures out that this request could not be processed before contacting the gatekeeper (say, a malformed resource_manager_contact), it will return an error and the regiser_callback function will not be called. Otherwise, the success or failure can be determined by the operation_failure_code parameter to the function register_callback points to. β¨
Parameters
resource_manager_contactβ aNULL-terminated character string containing a GRAM contact that this function will contact.attrβ a set of client attributes to use to contact the gatekeeper. If no custom attributes are needed, the caller should pass the valueGLOBUS_GRAM_CLIENT_NO_ATTR.register_callbackβ a pointer to a function to call when the ping request has completed or failed.register_callback_argβ a pointer to application-specific data, which will be passed to the functionregister_callbackpoints to, as itsuser_callback_argparameter.
Returns
Upon success, globus_gram_client_register_ping() returns GLOBUS_SUCCESS and the register_callback function will be called once the ping operation completes. If an error occurs, this function returns an integer error code and the function pointed to by the register_callback parameter will not be called. π«Ά
Return values
GLOBUS_SUCCESSβ SuccessGLOBUS_GRAM_PROTOCOL_ERROR_MALLOC_FAILEDβ Out of memoryGLOBUS_GRAM_PROTOCOL_ERROR_PROTOCOL_FAILEDβ Protocol errorGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_JOB_CONTACTβ Invalid job contactGLOBUS_GRAM_PROTOCOL_ERROR_INVALID_REQUESTβ Invalid requestGLOBUS_GRAM_PROTOCOL_ERROR_NO_RESOURCESβ No resources
β¨ Author β¨
Generated automatically by Doxygen for globus_gram_client from the source code.
And that's the whole page, bestie β you made it to the end, main character energy fr fr. π This one is globus_gram_client, Version 14.7, straight outta the globus_gram_client source code, and the footer's globus_gra..._functions(3) is just the manpage name doing its little truncated thing. Go forth and signal some jobs. π
πΈ
π¦ where this page comes from
- epel 10: globus-gram-client-doc 14.7-1.el10_2 Β· Apache-2.0
- fedora 43: globus-gram-client-doc 14.7-1.fc43 Β· Apache-2.0
- fedora 44: globus-gram-client-doc 14.7-2.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-gram-client-doc 14.7-1 Β· Apache-2.0
- ubuntu stonking: libglobus-gram-client-doc 14.7-2 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms