3
/*___INFO__MARK_BEGIN__*/
4
/*************************************************************************
6
* The Contents of this file are made available subject to the terms of
7
* the Sun Industry Standards Source License Version 1.2
9
* Sun Microsystems Inc., March, 2001
12
* Sun Industry Standards Source License Version 1.2
13
* =================================================
14
* The contents of this file are subject to the Sun Industry Standards
15
* Source License Version 1.2 (the "License"); You may not use this file
16
* except in compliance with the License. You may obtain a copy of the
17
* License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
19
* Software provided under this License is provided on an "AS IS" basis,
20
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
21
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
22
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
23
* See the License for the specific provisions governing your rights and
24
* obligations concerning the Software.
26
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
28
* Copyright: 2001 by Sun Microsystems, Inc.
30
* All Rights Reserved.
32
************************************************************************/
33
/*___INFO__MARK_END__*/
35
#include "sge_qmaster_timed_event.h"
36
#include "uti/sge_monitor.h"
37
#include "gdi/sge_gdi_ctx.h"
40
#define RESCHEDULE_SKIP_JR_REMOVE 0x00000000
41
#define RESCHEDULE_SKIP_JR_SEND_ACK 0x00000001
42
#define RESCHEDULE_SKIP_JR 0x00000002
43
#define RESCHEDULE_HANDLE_JR_REMOVE 0x00000004
44
#define RESCHEDULE_HANDLE_JR_WAIT 0x00000008
46
void reschedule_unknown_event(sge_gdi_ctx_class_t *ctx, te_event_t anEvent, monitoring_t *monitor);
48
u_long32 skip_restarted_job(lListElem *host, lListElem *job_report, u_long32 job_number, u_long32 task_number);
50
int reschedule_jobs(sge_gdi_ctx_class_t *ctx, lListElem *ep, u_long32 force, lList **answer, monitoring_t *monitor);
52
int reschedule_job(sge_gdi_ctx_class_t *ctx, lListElem *jep, lListElem *jatep, lListElem *qep, u_long32 force, lList **answer, monitoring_t *monitor);
54
lListElem* add_to_reschedule_unknown_list(sge_gdi_ctx_class_t *ctx, lListElem *hostr, u_long32 job_number, u_long32 task_number, u_long32 state);
56
void delete_from_reschedule_unknown_list(sge_gdi_ctx_class_t *ctx, lListElem *host);
58
void update_reschedule_unknown_list(sge_gdi_ctx_class_t *ctx, lListElem *host);
60
void update_reschedule_unknown_list_for_job(lListElem *host, u_long32 job_number, u_long32 task_number);
62
void update_reschedule_unknown_timout_values(const char *config_name);
64
void reschedule_unknown_trigger(lListElem *hep);
66
void reschedule_add_additional_time(u_long32 time);
69
remove_from_reschedule_unknown_list(sge_gdi_ctx_class_t *ctx,
70
lListElem *host, u_long32 job_number,
71
u_long32 task_number);
74
remove_from_reschedule_unknown_lists(sge_gdi_ctx_class_t *ctx,
76
u_long32 task_number);
78
#endif /* __RESCHEDULE_H */