當前位置:首頁 » 數據倉庫 » 在哪個系統中配置定時器
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

在哪個系統中配置定時器

發布時間: 2022-08-09 14:28:17

Ⅰ spring mvc怎麼配置定時器

有兩種流行Spring定時器配置:Java的Timer類和OpenSymphony的Quartz。

1.Java Timer定時

首先繼承java.util.TimerTask類實現run方法

import java.util.TimerTask;
public class EmailReportTask extends TimerTask{
@Override
public void run() {
...
}
}
在Spring定義

...

配置Spring定時器

<bean id="scheleReportTask" class="org.springframework.scheling.timer.ScheledTimerTask">
<property name="timerTask" ref="reportTimerTask" />
<property name="period">
<value>86400000value>
property>
bean>
timerTask屬性告訴ScheledTimerTask運行哪個。86400000代表24個小時

啟動Spring定時器

Spring的TimerFactoryBean負責啟動定時任務

<bean class="org.springframework.scheling.timer.TimerFactoryBean">
<property name="scheledTimerTasks">
<list><ref bean="scheleReportTask"/>list>
property>
bean>
scheledTimerTasks里顯示一個需要啟動的定時器任務的列表。
可以通過設置delay屬性延遲啟動
<bean id="scheleReportTask" class="org.springframework.scheling.timer.ScheledTimerTask">
<property name="timerTask" ref="reportTimerTask" />
<property name="period">
<value>86400000value>
property>
<property name="delay">
<value>3600000value>
property>
bean>
這個任務我們只能規定每隔24小時運行一次,無法精確到某時啟動

2.Quartz定時器

首先繼承QuartzJobBean類實現executeInternal方法

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheling.quartz.QuartzJobBean;

public class EmailReportJob extends QuartzJobBean{
protected void executeInternal(JobExecutionContext arg0)
throws JobExecutionException {
...
}
}
在Spring中定義

<bean id="reportJob" class="org.springframework.scheling.quartz.JobDetailBean">
<property name="jobClass">
<value>EmailReportJobvalue>
property>
<property name="jobDataAsMap">
<map>
<entry key="courseService">
<ref bean="courseService"/>
entry>
map>
property>
bean>
在這里我們並沒有直接聲明一個EmailReportJob Bean,而是聲明了一個JobDetailBean。這個是Quartz的特點。JobDetailBean是Quartz的org.quartz.JobDetail的子類,它要求通過jobClass屬性來設置一個Job對象。

使用Quartz的JobDetail中的另一個特別之處是EmailReportJob的courseService屬性是間接設置的。JobDetail的jobDataAsMap屬性接受一個Map,包括設置給jobClass的各種屬性,當。JobDetailBean實例化時,它會將courseService Bean注入到EmailReportJob 的courseService 屬性中。

啟動定時器

Quartz的org.quartz.Trigger類描述了何時及以怎樣的頻度運行一個Quartz工作。Spring提供了兩個觸發器SimpleTriggerBean和CronTriggerBean。
SimpleTriggerBean與scheledTimerTasks類似。指定工作的執行頻度,模仿scheledTimerTasks配置 .

<bean id="simpleReportTrigger" class="org.springframework.scheling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="reprotJob" />
<property name="startDelay">
<value>360000value>
property>
<property name="repeatInterval">
<value>86400000value>
property>
bean>
startDelay也是延遲1個小時啟動

CronTriggerBean指定工作的准確運行時間

<bean id="cronReportTrigger" class="org.springframework.scheling.quartz.CronTriggerBean">
<property name="jobDetail" ref="reprotJob" />
<property name="cronExpression">
<value>0 0 6 * * ?value>
property>
bean>
屬性cronExpression告訴何時觸發。最神秘就是cron表達式:

Linux系統的計劃任務通常有cron來承擔。一個cron表達式有至少6個(也可能7個)有空格分隔的時間元素。從左到右:

1.秒2.分3.小時4.月份中的日期(1-31)5.月份(1-12或JAN-DEC)6.星期中的日期(1-7或SUN-SAT)7.年份(1970-2099)
每個元素都顯示的規定一個值(如6),一個區間(9-12),一個列表(9,11,13)或一個通配符(*)。因為4和6這兩個元素是互斥的,因此應該通過設置一個問號(?)來表明不想設置的那個欄位,「/」如果值組合就表示重復次數(10/6表示每10秒重復6次)。

啟動定時器

<bean class="org.springframework.scheling.quartz.SchelerFactoryBean">
<property name="triggers">
<list><ref bean="cronReportTrigger"/>list>
property>
bean>
triggers屬性接受一組觸發器。

Ⅱ win10電腦定時開機怎麼設置

1.首先查看電腦的休眠功能是否開啟,如果沒有需要先開啟計算機的休眠功能(注意是「休眠」而不是「睡眠」)。比較直接的方法是,點擊系統「開始」,在搜索窗口中輸入「cmd.exe」,在結果中看見了「cmd.exe」,右擊選擇「以管理員許可權運行程序」打開「cmd.exe」命令窗口,輸入命令「powercfg -h on」即可開啟計算機休眠功能。註:如何關閉休眠功能?—開始菜單-所有程序-附件-右鍵命令提示符-使用管理員許可權打開—輸入「powercfg -h off」回車。

補充重點:必須取消選擇「自動重新啟動」——解決休眠重啟問題
步驟:首先右擊開始菜單,再點擊系統,打開系統屬性,再打開左側的高級系統設置那欄,點擊「啟動和故障恢復」的「設置」,然後取消選擇「自動重新啟動」選項。看下圖:

2.進入windows「控制面板」,右上角選擇查看方式為「小圖標」,選擇下面的「電源選項」。在彈出的窗口中,點擊左側「更改計算機睡眠時間」,進入新的窗口點擊下面的「更改高級電源設置」,彈出點源高級設置窗口。點擊節點「睡眠」,將「允許混合睡眠關閉」,將「允許使用喚醒定時器」開啟。
補充說明:
睡眠模式下的「混合睡眠」——如果不斷電,系統將從內存恢復;如果斷電,將從硬碟恢復,所以不用擔心數據會丟失。所以開啟也不影響休眠喚醒功能。
「喚醒時需要密碼」——根據自己需要開啟——即鎖屏開啟不需要密碼即可進入桌面。

3.下面建立定時休眠的任務計劃。右擊計算機,選擇「管理」。彈出的窗口左側選擇「系統工具」-->"任務計劃程序"-->"任務計劃程序庫"可以看見所有的任務計劃程序。點擊右側「創建任務」彈出任務創建窗口。常規選項卡設置如下圖所示。

4.轉到觸發器選項卡中,新建觸發器,彈出觸發器設置窗口,設置如下圖所示。

5.轉到操作選項卡,新建操作,程序或腳本設置為「shutdown.exe」(不含引號),參數為「-h」,如下圖所示。

6.條件和設置選項卡,分別如下兩圖所示。為此定時休眠任務計劃已經設置好,點擊確定返回「任務計劃程序庫」窗口,可以看見剛才創建的任務,並右擊啟用該任務。每次到剛才設置的時間,計算機就會自動進入休眠狀態(與關機類似,計算機此時並不耗電)。

8
7.下面建立定時喚醒任務。同樣的,新建任務,常規設置如下。

Ⅲ 怎麼設置電腦定時開機

設置電腦定時開機的方法,可以通過以下步驟操作來實現:

1、電腦開機按DELETE鍵進入Bios。

Ⅳ Windos10系統如何輸入200Smart定時器指令

咨詢記錄 · 回答於2021-12-01

Ⅳ 如何在linux系統中自己新建一個內核定時器,用struct timer_list這樣子

大家來學習學習,「jiffies + HZ」這個時間是怎麼計算,還不是非常理解。我的整體理解是,驅動被載入一秒內,運行myfunc函數,myfunc函數列印一個「Hello,world!"後,每兩秒再列印一個"Hello,world!"。驅動函數不需要你自己寫main函數,你配置成y會自動被拉起,配置成m,需要手動通過工具拉起。

Ⅵ 在8086系統中,利用8253做為定時器,假設時鍾頻率是12MHZ,每隔2S,產生一次中斷,通過8259A送給CPU,由CPU

小吳同學,我有答案 ,你要嗎?

Ⅶ 如何使用 systemd 中的定時器

第一步,創建一個service文件,根據你Linux的發行版本放到相應的系統目錄(在Arch中,這個目錄是/etc/systemd/system/ 或 /usr/lib/systemd/system)
myscript.service
[Unit]
Description=MyScript
[Service]
Type=simple
ExecStart=/usr/local/bin/myscript
注意,務必將Type變數的值設置為「simple」而不是「oneshot」。使用「oneshot」使得腳本只在第一次運行,之後系統會認為你不想再次運行它,從而關掉我們接下去創建的定時器(Timer)。
Timer 文件
第二步,創建一個timer文件,把它放在第一步中service文件放置的目錄。
myscript.timer
[Unit]
Description=Runs myscript every hour
[Timer]
# 首次運行要在啟動後10分鍾後
OnBootSec=10min
# 每次運行間隔時間
OnUnitActiveSec=1h
Unit=myscript.service
[Install]
WantedBy=multi-user.target
授權 / 運行
授權並運行的是timer文件,而不是service文件。
# 以 root 身份啟動定時器
systemctl start myscript.timer
# 在系統引導起來後就啟用該定時器
systemctl enable myscript.timer
在同一個Timer上運行多個腳本
現在我們假設你在相同時間想要運行多個腳本。這種情況,你需要在上面的文件中做適當的修改。
Service 文件
像我之前說過的那樣創建你的service文件來運行你的腳本,但是在每個service 文件最後都要包含下面的內容:
[Install]
WantedBy=mytimer.target
如果在你的service 文件中有一些依賴順序,確保你使用Description欄位中的值具體指定After=something.service和Before=whatever.service中的參數。
另外的一種選擇是(或許更加簡單),創建一個包裝腳本來使用正確的順序來運行命令,並在你的service文件中使用這個腳本。
Timer 文件
你只需要一個timer文件,創建mytimer.timer,像我在上面指出的。
target 文件
你可以創建一個以上所有的腳本依賴的target文件。
mytimer.target
[Unit]
Description=Mytimer
# Lots more stuff could go here, but it's situational.
# Look at systemd.unit man page.
授權 / 啟動
你需要將所有的service文件和timer文件授權。
systemctl enable script1.service
systemctl enable script2.service

systemctl enable mytimer.timer
systemctl start mytimer.service