#25 store a job log if job is started

This commit is contained in:
Shinsuke Sugaya 2013-10-15 23:28:22 +09:00
parent c604d92551
commit 7621cf5a9e
47 changed files with 91 additions and 72 deletions

View file

@ -161,7 +161,7 @@ CREATE TABLE JOB_LOG(
SCRIPT_DATA VARCHAR(4000),
SCRIPT_RESULT VARCHAR(4000),
START_TIME TIMESTAMP NOT NULL,
END_TIME TIMESTAMP NOT NULL
END_TIME TIMESTAMP
);
/**********************************/

View file

@ -161,7 +161,7 @@ CREATE TABLE JOB_LOG(
SCRIPT_DATA TEXT,
SCRIPT_RESULT TEXT,
START_TIME TIMESTAMP NOT NULL,
END_TIME TIMESTAMP NOT NULL
END_TIME TIMESTAMP
);
/**********************************/

View file

@ -184,7 +184,7 @@ CREATE TABLE "JOB_LOG"(
"SCRIPT_DATA" VARCHAR2(4000),
"SCRIPT_RESULT" VARCHAR2(4000),
"START_TIME" TIMESTAMP NOT NULL,
"END_TIME" TIMESTAMP NOT NULL,
"END_TIME" TIMESTAMP,
CONSTRAINT "JOB_LOG_PK" PRIMARY KEY ("ID") ENABLE
);

View file

@ -63,7 +63,6 @@ public abstract class BsJobLogForm {
@DateType(datePattern = Constants.DEFAULT_DATETIME_FORMAT)
public String startTime;
@Required(target = "confirmfromcreate,create,confirmfromupdate,update,delete")
@DateType(datePattern = Constants.DEFAULT_DATETIME_FORMAT)
public String endTime;

View file

@ -52,8 +52,6 @@ public abstract class BsJobLogPager implements Serializable {
public String startTime;
public String endTime;
public void clear() {
pageSize = getDefaultPageSize();
currentPageNumber = getDefaultCurrentPageNumber();
@ -64,7 +62,6 @@ public abstract class BsJobLogPager implements Serializable {
target = null;
scriptType = null;
startTime = null;
endTime = null;
}

View file

@ -119,7 +119,7 @@ public abstract class BsJobLog implements Entity, Serializable, Cloneable {
/** START_TIME: {NotNull, TIMESTAMP(23, 10)} */
protected java.sql.Timestamp _startTime;
/** END_TIME: {NotNull, TIMESTAMP(23, 10)} */
/** END_TIME: {TIMESTAMP(23, 10)} */
protected java.sql.Timestamp _endTime;
// -----------------------------------------------------
@ -478,16 +478,16 @@ public abstract class BsJobLog implements Entity, Serializable, Cloneable {
}
/**
* [get] END_TIME: {NotNull, TIMESTAMP(23, 10)} <br />
* @return The value of the column 'END_TIME'. (basically NotNull if selected: for the constraint)
* [get] END_TIME: {TIMESTAMP(23, 10)} <br />
* @return The value of the column 'END_TIME'. (NullAllowed even if selected: for no constraint)
*/
public java.sql.Timestamp getEndTime() {
return _endTime;
}
/**
* [set] END_TIME: {NotNull, TIMESTAMP(23, 10)} <br />
* @param endTime The value of the column 'END_TIME'. (basically NotNull if update: for the constraint)
* [set] END_TIME: {TIMESTAMP(23, 10)} <br />
* @param endTime The value of the column 'END_TIME'. (NullAllowed: null update allowed for no constraint)
*/
public void setEndTime(final java.sql.Timestamp endTime) {
__modifiedProperties.addPropertyName("endTime");

View file

@ -258,7 +258,7 @@ public class BrowserTypeDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_EBDC25E9_E237_4A91_ADD3_FA6F8CA7AB23",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_D41CA918_16A9_416B_B647_2C87A057862D",
false,
null,
null,

View file

@ -167,7 +167,7 @@ public class ClickLogDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_8853B179_F4EC_48B8_B723_8B61F13419D4",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_5784FA0C_8F21_45C1_8BC0_0B77795C1FDD",
false, null, null, null, null, null);
protected final ColumnInfo _columnSearchId = cci("SEARCH_ID", "SEARCH_ID",

View file

@ -180,7 +180,7 @@ public class CrawlingSessionDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_1A4E45FC_6AD7_4BDF_A764_207DD200D40E",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_1A924665_7570_4B11_9238_780D8838302B",
false, null, null, null, "crawlingSessionInfoList", null);
protected final ColumnInfo _columnSessionId = cci("SESSION_ID",

View file

@ -180,7 +180,7 @@ public class CrawlingSessionInfoDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_C4E8F6CF_7747_4C35_820B_0A2E3DF42FB4",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_7F2CE21E_C25C_4598_82C4_A1009DD96CFC",
false, null, null, null, null, null);
protected final ColumnInfo _columnCrawlingSessionId = cci(

View file

@ -154,7 +154,7 @@ public class DataConfigToBrowserTypeMappingDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_2B76FBE0_224F_4AD1_85FD_41B4C9AEDC31",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_E5B07DE6_C536_40E4_8F72_E39704B418C4",
false, null, null, null, null, null);
protected final ColumnInfo _columnDataConfigId = cci("DATA_CONFIG_ID",

View file

@ -154,7 +154,7 @@ public class DataConfigToLabelTypeMappingDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_DC8C6B08_CE09_4FA8_9584_365B3ABDD21E",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A3F5F83E_2B8A_46F0_9F23_E925931DB082",
false, null, null, null, null, null);
protected final ColumnInfo _columnDataConfigId = cci("DATA_CONFIG_ID",

View file

@ -154,7 +154,7 @@ public class DataConfigToRoleTypeMappingDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_5D1DDC67_A01C_4D73_9966_2486CC81B2CC",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_78F3C3A4_FF01_4ECF_A193_4224C74B27FB",
false, null, null, null, null, null);
protected final ColumnInfo _columnDataConfigId = cci("DATA_CONFIG_ID",

View file

@ -310,7 +310,7 @@ public class DataCrawlingConfigDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_CB77D9E9_35C6_4617_884E_D73D1D655F32",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_0B9D5A74_12B9_4AC0_833B_E3638BFF6024",
false,
null,
null,

View file

@ -232,7 +232,7 @@ public class FailureUrlDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_6F44BF79_8635_4FF9_A6E6_A1F2D36263E8",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_4A115054_9480_4EE9_86AB_7EAEF962B3A2",
false, null, null, null, null, null);
protected final ColumnInfo _columnUrl = cci("URL", "URL", null, null, true,

View file

@ -167,7 +167,7 @@ public class FavoriteLogDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_781CB0AD_8431_4352_A1D6_A35937B0FA17",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_3E627B17_3EF8_4744_8F04_99A388F9A905",
false, null, null, null, null, null);
protected final ColumnInfo _columnUserId = cci("USER_ID", "USER_ID", null,

View file

@ -310,7 +310,7 @@ public class FileAuthenticationDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_2699B42A_0BB3_41FF_BFB5_AF81A30D0A01",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_0DE6A197_6735_4CA5_99EE_3DC42CD9A8E2",
false, null, null, null, null, null);
protected final ColumnInfo _columnHostname = cci("HOSTNAME", "HOSTNAME",

View file

@ -154,7 +154,7 @@ public class FileConfigToBrowserTypeMappingDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_C8E02221_2BEB_4A3C_9661_552840233488",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_B0BC0334_9EC5_475D_8E3A_B367C4A2E669",
false, null, null, null, null, null);
protected final ColumnInfo _columnFileConfigId = cci("FILE_CONFIG_ID",

View file

@ -154,7 +154,7 @@ public class FileConfigToLabelTypeMappingDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_40ED136E_748E_4BC7_961D_76CD3645AFE9",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_75F74A02_C2C3_4ECA_AF13_71D8A60AA9AD",
false, null, null, null, null, null);
protected final ColumnInfo _columnFileConfigId = cci("FILE_CONFIG_ID",

View file

@ -154,7 +154,7 @@ public class FileConfigToRoleTypeMappingDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_C52ED1DA_CF0B_49EE_B9F7_9CCC5FD334E9",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_97B5ADF1_4B2B_4A1A_8911_810C6B365933",
false, null, null, null, null, null);
protected final ColumnInfo _columnFileConfigId = cci("FILE_CONFIG_ID",

View file

@ -401,7 +401,7 @@ public class FileCrawlingConfigDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_50C8436F_B31A_41CB_A67E_77A1CEDD7E46",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_98769B60_EC99_43E9_9C3F_CF1E75ABBF60",
false,
null,
null,

View file

@ -231,7 +231,7 @@ public class JobLogDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A597AD31_D6B7_44D4_8A2C_D6B301347DAF",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_131D8FB9_8D41_4A03_BEB7_9262977BC90D",
false, null, null, null, null, null);
protected final ColumnInfo _columnJobName = cci("JOB_NAME", "JOB_NAME",
@ -266,7 +266,7 @@ public class JobLogDbm extends AbstractDBMeta {
false, null, null, null, null, null);
protected final ColumnInfo _columnEndTime = cci("END_TIME", "END_TIME",
null, null, true, "endTime", java.sql.Timestamp.class, false,
null, null, false, "endTime", java.sql.Timestamp.class, false,
false, "TIMESTAMP", 23, 10, null, false, null, null, null, null,
null);

View file

@ -284,7 +284,7 @@ public class LabelTypeDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_8A7FB6C6_8549_42D5_8CA2_EC01B2BB8993",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_060CF1E5_6E83_486D_9C25_2D972AF6F355",
false,
null,
null,

View file

@ -154,7 +154,7 @@ public class LabelTypeToRoleTypeMappingDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_6C6CC5C9_4C99_4A34_B3FC_2D02022B9405",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_96F6074E_A18D_48ED_8F32_4F71CC4B64A7",
false, null, null, null, null, null);
protected final ColumnInfo _columnLabelTypeId = cci("LABEL_TYPE_ID",

View file

@ -257,7 +257,7 @@ public class OverlappingHostDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_52ADF097_4702_4C36_A0AA_CD34C439E98C",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_9EC144CB_B1BF_42AD_8968_ACF67F680697",
false, null, null, null, null, null);
protected final ColumnInfo _columnRegularName = cci("REGULAR_NAME",

View file

@ -271,7 +271,7 @@ public class PathMappingDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_7B1E2705_018B_4143_B47F_BD2917F734C1",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_2F2B2FEF_0BF8_41BE_A43D_4EFA6E62193D",
false, null, null, null, null, null);
protected final ColumnInfo _columnRegex = cci("REGEX", "REGEX", null, null,

View file

@ -258,7 +258,7 @@ public class RequestHeaderDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_976724F3_86F3_49E4_8A47_4FAC5AA8F709",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A06C281D_C680_48EA_AC66_2A96E56C0304",
false, null, null, null, null, null);
protected final ColumnInfo _columnName = cci("NAME", "NAME", null, null,

View file

@ -258,7 +258,7 @@ public class RoleTypeDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_1375DF17_88DE_425C_B243_92C84C2C1875",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_0D9BC963_B611_44F0_837B_0F02BD9F4847",
false,
null,
null,

View file

@ -335,7 +335,7 @@ public class ScheduledJobDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_2338A94D_9157_4C50_A309_977F2624EA0A",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_7423A7F0_057A_4298_83C8_58132727B0C0",
false, null, null, null, null, null);
protected final ColumnInfo _columnName = cci("NAME", "NAME", null, null,

View file

@ -167,7 +167,7 @@ public class SearchFieldLogDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_C9C19A0F_6FA1_475C_934F_32C60D6B6B72",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_0E1864CF_AD17_4516_B4AD_3C8A3DC1E7B8",
false, null, null, null, null, null);
protected final ColumnInfo _columnSearchId = cci("SEARCH_ID", "SEARCH_ID",

View file

@ -286,7 +286,7 @@ public class SearchLogDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_8D6385B7_786D_45E2_AA41_D5FA8C17BBF9",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_380A14A7_E02A_40AA_B0B1_825DFB0AB844",
false, null, null, null, "clickLogList,searchFieldLogList", null);
protected final ColumnInfo _columnSearchWord = cci("SEARCH_WORD",

View file

@ -167,7 +167,7 @@ public class UserInfoDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_22D09B91_FB6F_43EF_A2E5_739802A53FC1",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_26646B52_2FBC_4E74_8A56_6292786B7F3C",
false, null, null, null, "favoriteLogList,searchLogList", null);
protected final ColumnInfo _columnCode = cci("CODE", "CODE", null, null,

View file

@ -323,7 +323,7 @@ public class WebAuthenticationDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_B7ED1035_3C63_4922_B4CF_C02B104FA82E",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_0F7C7995_E44A_453D_8938_45539768010D",
false, null, null, null, null, null);
protected final ColumnInfo _columnHostname = cci("HOSTNAME", "HOSTNAME",

View file

@ -154,7 +154,7 @@ public class WebConfigToBrowserTypeMappingDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_710C901B_F4B7_42F7_B97F_3CB64A6939D9",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_42107AD0_2A38_4917_8034_38503E26087D",
false, null, null, null, null, null);
protected final ColumnInfo _columnWebConfigId = cci("WEB_CONFIG_ID",

View file

@ -154,7 +154,7 @@ public class WebConfigToLabelTypeMappingDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A101C255_F997_4DC4_8949_453E3E4A9051",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_B5E907A6_CB39_4B37_9446_C571EE87D642",
false, null, null, null, null, null);
protected final ColumnInfo _columnWebConfigId = cci("WEB_CONFIG_ID",

View file

@ -154,7 +154,7 @@ public class WebConfigToRoleTypeMappingDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_EA1A7409_A1D1_4BE4_BFFC_B03DFEB227DB",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_328F9765_4DEC_4217_AC1F_33D082834575",
false, null, null, null, null, null);
protected final ColumnInfo _columnWebConfigId = cci("WEB_CONFIG_ID",

View file

@ -414,7 +414,7 @@ public class WebCrawlingConfigDbm extends AbstractDBMeta {
"BIGINT",
19,
0,
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A2A25811_03ED_49AF_9DA3_3BF45CE3AED3",
"NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A3B5DAAB_8D15_4A8A_8261_C0B3426CE65C",
false,
null,
null,

View file

@ -415,7 +415,7 @@ public class BsJobLogCB extends AbstractConditionBean {
}
/**
* END_TIME: {NotNull, TIMESTAMP(23, 10)}
* END_TIME: {TIMESTAMP(23, 10)}
* @return The information object of specified column. (NotNull)
*/
public HpSpecifiedColumn columnEndTime() {

View file

@ -1120,7 +1120,7 @@ public abstract class AbstractBsJobLogCQ extends AbstractConditionQuery {
/**
* Equal(=). And NullIgnored, OnlyOnceRegistered. <br />
* END_TIME: {NotNull, TIMESTAMP(23, 10)}
* END_TIME: {TIMESTAMP(23, 10)}
* @param endTime The value of endTime as equal. (NullAllowed: if null, no condition)
*/
public void setEndTime_Equal(final java.sql.Timestamp endTime) {
@ -1129,7 +1129,7 @@ public abstract class AbstractBsJobLogCQ extends AbstractConditionQuery {
/**
* GreaterThan(&gt;). And NullIgnored, OnlyOnceRegistered. <br />
* END_TIME: {NotNull, TIMESTAMP(23, 10)}
* END_TIME: {TIMESTAMP(23, 10)}
* @param endTime The value of endTime as greaterThan. (NullAllowed: if null, no condition)
*/
public void setEndTime_GreaterThan(final java.sql.Timestamp endTime) {
@ -1138,7 +1138,7 @@ public abstract class AbstractBsJobLogCQ extends AbstractConditionQuery {
/**
* LessThan(&lt;). And NullIgnored, OnlyOnceRegistered. <br />
* END_TIME: {NotNull, TIMESTAMP(23, 10)}
* END_TIME: {TIMESTAMP(23, 10)}
* @param endTime The value of endTime as lessThan. (NullAllowed: if null, no condition)
*/
public void setEndTime_LessThan(final java.sql.Timestamp endTime) {
@ -1147,7 +1147,7 @@ public abstract class AbstractBsJobLogCQ extends AbstractConditionQuery {
/**
* GreaterEqual(&gt;=). And NullIgnored, OnlyOnceRegistered. <br />
* END_TIME: {NotNull, TIMESTAMP(23, 10)}
* END_TIME: {TIMESTAMP(23, 10)}
* @param endTime The value of endTime as greaterEqual. (NullAllowed: if null, no condition)
*/
public void setEndTime_GreaterEqual(final java.sql.Timestamp endTime) {
@ -1156,7 +1156,7 @@ public abstract class AbstractBsJobLogCQ extends AbstractConditionQuery {
/**
* LessEqual(&lt;=). And NullIgnored, OnlyOnceRegistered. <br />
* END_TIME: {NotNull, TIMESTAMP(23, 10)}
* END_TIME: {TIMESTAMP(23, 10)}
* @param endTime The value of endTime as lessEqual. (NullAllowed: if null, no condition)
*/
public void setEndTime_LessEqual(final java.sql.Timestamp endTime) {
@ -1166,7 +1166,7 @@ public abstract class AbstractBsJobLogCQ extends AbstractConditionQuery {
/**
* FromTo with various options. (versatile) {(default) fromDatetime &lt;= column &lt;= toDatetime} <br />
* And NullIgnored, OnlyOnceRegistered. <br />
* END_TIME: {NotNull, TIMESTAMP(23, 10)}
* END_TIME: {TIMESTAMP(23, 10)}
* <pre>e.g. setEndTime_FromTo(fromDate, toDate, new <span style="color: #FD4747">FromToOption</span>().compareAsDate());</pre>
* @param fromDatetime The from-datetime(yyyy/MM/dd HH:mm:ss.SSS) of endTime. (NullAllowed: if null, no from-condition)
* @param toDatetime The to-datetime(yyyy/MM/dd HH:mm:ss.SSS) of endTime. (NullAllowed: if null, no to-condition)
@ -1184,7 +1184,7 @@ public abstract class AbstractBsJobLogCQ extends AbstractConditionQuery {
/**
* DateFromTo. (Date means yyyy/MM/dd) {fromDate &lt;= column &lt; toDate + 1 day} <br />
* And NullIgnored, OnlyOnceRegistered. <br />
* END_TIME: {NotNull, TIMESTAMP(23, 10)}
* END_TIME: {TIMESTAMP(23, 10)}
* <pre>
* e.g. from:{2007/04/10 08:24:53} to:{2007/04/16 14:36:29}
* column &gt;= '2007/04/10 00:00:00' and column <span style="color: #FD4747">&lt; '2007/04/17 00:00:00'</span>
@ -1197,6 +1197,22 @@ public abstract class AbstractBsJobLogCQ extends AbstractConditionQuery {
setEndTime_FromTo(fromDate, toDate, new FromToOption().compareAsDate());
}
/**
* IsNull {is null}. And OnlyOnceRegistered. <br />
* END_TIME: {TIMESTAMP(23, 10)}
*/
public void setEndTime_IsNull() {
regEndTime(CK_ISN, DOBJ);
}
/**
* IsNotNull {is not null}. And OnlyOnceRegistered. <br />
* END_TIME: {TIMESTAMP(23, 10)}
*/
public void setEndTime_IsNotNull() {
regEndTime(CK_ISNN, DOBJ);
}
protected void regEndTime(final ConditionKey k, final Object v) {
regQ(k, v, getCValueEndTime(), "END_TIME");
}

View file

@ -388,7 +388,7 @@ public class BsJobLogCQ extends AbstractBsJobLogCQ {
/**
* Add order-by as ascend. <br />
* END_TIME: {NotNull, TIMESTAMP(23, 10)}
* END_TIME: {TIMESTAMP(23, 10)}
* @return this. (NotNull)
*/
public BsJobLogCQ addOrderBy_EndTime_Asc() {
@ -398,7 +398,7 @@ public class BsJobLogCQ extends AbstractBsJobLogCQ {
/**
* Add order-by as descend. <br />
* END_TIME: {NotNull, TIMESTAMP(23, 10)}
* END_TIME: {TIMESTAMP(23, 10)}
* @return this. (NotNull)
*/
public BsJobLogCQ addOrderBy_EndTime_Desc() {

View file

@ -230,6 +230,7 @@ public class FileCrawlingConfig extends BsFileCrawlingConfig implements
return null;
}
@Override
public void initializeClientFactory(final S2RobotClientFactory clientFactory) {
final FileAuthenticationService fileAuthenticationService = SingletonS2Container
.getComponent(FileAuthenticationService.class);

View file

@ -49,6 +49,6 @@ public class ScheduledJob extends BsScheduledJob {
public boolean isRunning() {
return SingletonS2Container.getComponent(SystemHelper.class)
.isRunningJobExecutoer(getId());
.getJobExecutoer(getId()) != null;
}
}

View file

@ -234,8 +234,8 @@ public class WebCrawlingConfig extends BsWebCrawlingConfig implements
return null;
}
public void initializeClientFactory(
final S2RobotClientFactory clientFactory) {
@Override
public void initializeClientFactory(final S2RobotClientFactory clientFactory) {
final WebAuthenticationService webAuthenticationService = SingletonS2Container
.getComponent(WebAuthenticationService.class);
final RequestHeaderService requestHeaderService = SingletonS2Container

View file

@ -611,16 +611,17 @@ public class SystemHelper implements Serializable {
forceStop.set(true);
}
public void addRunningJobExecutoer(final Long id,
public JobExecutor startJobExecutoer(final Long id,
final JobExecutor jobExecutor) {
runningJobExecutorMap.put(id, jobExecutor);
return runningJobExecutorMap.putIfAbsent(id, jobExecutor);
}
public void removeRunningJobExecutoer(final Long id) {
public void finishJobExecutoer(final Long id) {
runningJobExecutorMap.remove(id);
}
public boolean isRunningJobExecutoer(final Long id) {
return runningJobExecutorMap.containsKey(id);
public JobExecutor getJobExecutoer(final Long id) {
return runningJobExecutorMap.get(id);
}
}

View file

@ -56,11 +56,6 @@ public class TriggeredJob implements Job {
final String script = scheduledJob.getScriptData();
final Long id = scheduledJob.getId();
final String jobId = Constants.JOB_ID_PREFIX + id;
if (systemHelper.isRunningJobExecutoer(id)) {
logger.info(jobId + " is running.");
return;
}
final JobExecutor jobExecutor = SingletonS2Container
.getComponent(scriptType + JOB_EXECUTOR_SUFFIX);
if (jobExecutor == null) {
@ -68,8 +63,17 @@ public class TriggeredJob implements Job {
+ JOB_EXECUTOR_SUFFIX);
}
if (systemHelper.startJobExecutoer(id, jobExecutor) != null) {
logger.info(jobId + " is running.");
return;
}
final JobLogService jobLogService = SingletonS2Container
.getComponent(JobLogService.class);
try {
systemHelper.addRunningJobExecutoer(id, jobExecutor);
if (scheduledJob.isLoggingEnabled()) {
jobLogService.store(jobLog);
}
if (logger.isDebugEnabled()) {
logger.debug("Job " + jobId + "/" + scriptType
@ -89,10 +93,8 @@ public class TriggeredJob implements Job {
jobLog.setJobStatus(Constants.FAIL);
jobLog.setScriptResult(e.getLocalizedMessage());
} finally {
systemHelper.removeRunningJobExecutoer(id);
systemHelper.finishJobExecutoer(id);
jobLog.setEndTime(new Timestamp(System.currentTimeMillis()));
final JobLogService jobLogService = SingletonS2Container
.getComponent(JobLogService.class);
if (logger.isDebugEnabled()) {
logger.debug("jobLog: " + jobLog);
}

View file

@ -55,7 +55,10 @@
<td>${f:h(data.jobName)}</td>
<td style="text-align: center;text-transform: uppercase;">${f:h(data.jobStatus)}</td>
<td style="text-align: center;"><fmt:formatDate value="${data.startTime}" pattern="yyyy-MM-dd'T'HH:mm:ss" /></td>
<td style="text-align: center;"><fmt:formatDate value="${data.endTime}" pattern="yyyy-MM-dd'T'HH:mm:ss" /></td>
<td style="text-align: center;">
<c:if test="${data.endTime!=null}"><fmt:formatDate value="${data.endTime}" pattern="yyyy-MM-dd'T'HH:mm:ss" /></c:if>
<c:if test="${data.endTime==null}"><bean:message key="labels.none" /></c:if>
</td>
<td style="text-align: center;"><s:link
href="confirmpage/4/${f:u(data.id)}">
<bean:message key="labels.joblog_link_details" />