VyÜlo: 9.1.2001 Rubrika:
ASP - ZdrojovΘ k≤dy
Jak zajistit pravidelnΘ spouÜt∞nφ scriptu na serveru bez zßsahu administrßtora?
Chcete se nauΦit spustit script ka₧dou p∙lnoc bez toho, ani₧ by jste museli kontaktovat sprßvce serveru, kter² by provedl pat°iΦnΘ nastavenφ na serveru? P°eΦt∞te si tento Φlßnek ve kterΘm se pomocφ funkce Scheduler() nauΦφte spouÜt∞t libovoln² k≤d ka₧d² den v pravidelnΘm intervalu. Chcete v∞d∞t jak? Co je k tomu pot°eba? Kde funkci vyu₧φt? Zkuste si p°eΦφst tento Φlßnek a dozvφte se to...
Provozujete-li nap°φklad zpravodajsk² server, kter² publikuje den co den novΘ Φlßnky, mohli by jste jej obohatit o zajφmavou funkci, kterou majφ Φtenß°i vesm∞s rßdi. KonkrΘtn∞ mßm namysli zasφlßnφ novinek e-mailem resp. zasφlßnφ titulk∙ Φlßnk∙ p°φmo do jejich mailboxu.
Jestli₧e se rozhodnete tuto Φinnost provßd∞t ruΦn∞, p°φsßhßm Vßm, ₧e se z toho Φasem zblßznφte resp. nezblßznφte, ale nechßte toho a zaΦnete hledat jinΘ °eÜenφ(jß jsem to vydr₧el 18 m∞sφc∙).
Jednφm z elegantnφch zp∙sob∙ je vyu₧itφ libovolnΘ komponenty pro poÜtovnφ slu₧by(zasφlßnφ e-mail∙) jako je CDONTS nebo Jmail pop°φpad∞ PCXMail.
Ve spoluprßci s funkcφ Scheduler, kterß zajistφ spuÜt∞nφ danΘho k≤du p°i prvnφ nßvÜt∞ve po p∙lnoci, Vßm vznikne hotovß v∞c, kterß zajistφ automatickΘ(tφm pßdem i relativn∞ spolehlivΘ) rozesφlßnφ novinek e-mailem.
Samoz°ejm∞ lze funkci Scheduler vyu₧φt i k jin²m aktivitßm ne₧ je rozesφlßnφ novinek e-mailem. Namßtkou m∞ napadß r∙znΘ zpracovßnφ dat p°edchozφho dne a vytvo°enφ novΘho prost°edφ pro den nßsledujφcφ a podobn∞.
Funkce Scheduler
<%
Function Scheduler()
Dim FSO, I_cesta, E_cesta, cesta, Date_soubor, Soubor
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
I_cesta = Request.ServerVariables.Item("PATH_TRANSLATED")
E_cesta = Left(I_cesta, Len(I_cesta) - 3)
Cesta = E_cesta & "txt"
Set Soubor = FSO.OpenTextFile(Cesta, 1)
Date_soubor = Soubor.ReadAll
Soubor.Close
Set Soubor = Nothing
If Trim(FormatDateTime(date_soubor)) = Cstr(date()) Then
Set Soubor2 = FSO.OpenTextFile(Cesta, 2, True)
Soubor2.Writeline Date() + 1
Soubor2.Close
Set Soubor2 = Nothing
Set FSO = Nothing
'-ZDE VLOZTE KOD, KTERY CHCETE PROVEST KAZDOU PULNOC-
'-----------------------------------------------------
Else
'-ZDE JE MOZNE[neni nutne] UMISTIT KOD, KTERY SE NEPROVEDE PRAVE O PULNOCI :)
'----------------
End If
End Function
'Funkci Scheduler si vlo₧te na zaΦßtek strßnky a v jejφm pr∙b∞hu ji zavolejte
'pomoci Scheduler()
intVystup = Scheduler()
%>
Co funkce umφ?
Scheduler Vßm zajistφ ka₧dodennφ spouÜt∞nφ k≤du, kter² si do nφ vlo₧φte.
Co je nutnΘ pro provoz?
Jestli₧e chcete uplatnit schopnosti funkce Scheduler, budete muset postupovat nßsledovn∞:
- Zdroj procedury zkopφrovat do strßnky, kterß mß aktivovat rozesφlßnφ Φi jinou Φinnost. Ve strßnce tuto proceduru zavolat a tφm(je-li po p∙lnoci) aktivovat po₧adovanou Φinnost.
- Nastavit na serveru(jestli₧e se tak ji₧ nestalo) povolenφ zßpisu do textovΘho souboru.
- PoΦkat na prvnφ p∙lnoc, kdy si funkci odzkouÜφte(samoz°ejm∞ tento bod nenφ povinn² :-).
Kam se uklßdajφ data?
Informace o tom, kdy se mß funkce op∞t aktivovat se ukßdß do textovΘho souboru, kter² nese toto₧n² nßzev s VaÜφ strßnkou ve kterΘ je funkce spuÜt∞na, ale koncovka asp je nahrazena txt.
P°φklad:
Bude-li se VaÜe strßnka ve kterΘ tuto funkci volßte jmenovat index.asp, data se ulo₧φ do stejnΘho adresß°e v souboru index.txt.
Zden∞k Cendra
ceskywap@ceskywap.cz
Souvisejφcφ Φlßnky
|