webForumDet fria alternativet

Påminnelse-funktion

21 svar · 876 visningar · startad av westman

westmanMedlem sedan aug. 2004249 inlägg
#1

God morgon!
Jag har kodat ett bokningssystem och vill nu till detta ha en påminnelsefunktion. Dvs det ska skickas en påminnelse via e-post till användaren en viss tid innan den bokade tiden. Hur skall jag bära mig åt för att fixa detta?? Är det så att jag måste ha en server eller liknande som kontinuerligt "känner efter" om en påminnelse skall skickas eller går det att lösa på ngt annat sätt...??

SkarreMedlem sedan apr. 20012 427 inlägg
#2

Kör du på Linux kan du köra s.k. "cron jobs", och på Windows kan du köra med schemaläggaren.

westmanMedlem sedan aug. 2004249 inlägg
#3

hur menar du nu, att jag ska lägga in varje bokning för hand i schemaläggaren. Det är en webbapplikation som är bunden till en databas där det sker ungefär 10-15 slumpmässiga bokningar varje dag, så det blir ju mkt jobb...

SkarreMedlem sedan apr. 20012 427 inlägg
#4

Det är svårt att svara mer konkret om du inte berättar vad lösningen är byggd på. ASP.NET/SQL Server, PHP/MySQL, ASP/Access eller kanske någon annan kombination?

Tanken är i alla fall att du schemalägger körning av ett skript så att det körs med jämna mellanrum. I skriptet kollar du om någon ska ha en påminnelse och skickar i sådana fall iväg en sådan.

westmanMedlem sedan aug. 2004249 inlägg
#5

Jag använder PHP och MySQL. Så du menar att jag på min dator/annan dator scemalägger ett script som sköter påminnelser? Med andra ord så krävs det att en burk står igång dygnet runt (eftersom en påminnelse kan behövas skickas när som helst). Om så är fallet så kan jag lika gärna på den datorn ha scriptet körandes hela tiden..
Kan man lägga till ett script i schemaläggaren? Är det inte bara exe-program?

OveRRidEMedlem sedan feb. 200112 078 inlägg
#6

Du har fortfarande inte svarat på ifall det snurrar Windows eller Linux på servern. Om det är Windows kan du använda schemaläggaren, som nämnt ovan.

Då är det någon slags exekverbar fil (.exe, .vbs, el. likn.) som det handlar om, och det skriver du väl enklast i VB eller VBScript, eller kanske tillochmed C++ ifall du kan det? Låt filen göra en koll mot databasen och göra de åtgärder som du vill i samband med påminnelsen. Schemaläggningen måste köras på samma maskin som binärfilen (exen) ligger på, men behöver inte nödvändigtvis vara på din webbserver eftersom den antagligen bara skall joxa med databasen eller skicka ett mail.

westmanMedlem sedan aug. 2004249 inlägg
#7

ok. Jag kör Windows XP Pro och Windows 2000 Server. Men då kan jag ju lika gärna göra som jag sa tidigare; låta en dator stå och köra scriptet hela tiden. Då kan jag ju använda mig av PHP... Eller hur?

OveRRidEMedlem sedan feb. 200112 078 inlägg
#8

Uh, ja visst kan du det.

Du kan även driva din spis med hjälp av en hävaxel och en åsna som går runt och runt istället för att koppla in sladden i väggen, om du förstår vad jag menar.

westmanMedlem sedan aug. 2004249 inlägg
#9

:birp

precis, varför snacka schemaläggning..

En annan tanke är ju kanske att man skriver ett script som skickar påminnelsen så fort bokningen är gjord men att den har en tidsstämpel som berättar när mailetskall levereras, eller?

OveRRidEMedlem sedan feb. 200112 078 inlägg
#10

Huruvida de funktionerna finns i mailservrar världen om, det vet jag inte, så jag skulle inte satsa några pengar på den lösningen, nej.

Det jag menade med det förra inlägget var att din åsna, precis som ditt lilla PHP-script, antagligen kommer att 'faila' med jämna mellanrum. En binärfil, eller ett eluttag i väggen, är lite mer säkert och stabilt, rent driftmässigt sett. Dessutom är det slöseri att ha en dator som bara står och uppdaterar en webbsida hela tiden.

westmanMedlem sedan aug. 2004249 inlägg
#11

förstår vad du menar,

Ngn som vet hur Minnas.se har löst detta?

SkarreMedlem sedan apr. 20012 427 inlägg
#12

Eftersom de kör PHP så skulle jag gissa på ett cron job som exekverar ett PHP-skript med jämna mellanrum.

OveRRidEMedlem sedan feb. 200112 078 inlägg
#13

westman skrev:

förstår vad du menar,

Ngn som vet hur Minnas.se har löst detta?

PHP + Cron, är min gissning.

/red. Slö..

westmanMedlem sedan aug. 2004249 inlägg
#14

ehum, vad är "cron"? :r
har hört talas om det men aldrig fått grepp om innebörden och funktionen..

PaceMedlem sedan juni 20019 024 inlägg
#15

Google kan mer än bara sökningar.

http://www.google.com/search?q=define%3Acron&start=0&start=0&ie=utf-8&oe=utf-8

Cron är funktionsmässigt samma sak som schemaläggaren i Windows.

Mitt tips (om du har en webbplats med fler än 1 besökare per dag) är att göra ett script som körs samtidigt som de vanliga filerna på din webbplats.

Denna applikation känner av om det är dags att skicka ut en påminnelse eller ej. Då slipper du pyssla med schemaläggning av binärfiler m.m. som du kanske inte har behörighet till på ett webbhotell.

westmanMedlem sedan aug. 2004249 inlägg
#16

Mitt tips (om du har en webbplats med fler än 1 besökare per dag) är att göra ett script som körs samtidigt som de vanliga filerna på din webbplats.

Denna applikation känner av om det är dags att skicka ut en påminnelse eller ej. Då slipper du pyssla med schemaläggning av binärfiler m.m. som du kanske inte har behörighet till på ett webbhotell.

mm, det var min första tanke oxå. Kan hålla, om inte annat ifall påminnelsen endast är datumbunden och inte är beroende av en viss tid...

PalleMedlem sedan apr. 20003 174 inlägg
#17

Flyttad från Webbutveckling - Övrigt.

mvh Palle
Moderator webForum

GunnarDMedlem sedan juni 20014 290 inlägg
#18

Jag skulle löst det så här, förutsatt att jag kan köra cron-script (eller via schemaläggaren) på servern:

Vid en given tidpunkt på dygnet körs ett script som kontrollerar i databasen vilka påminnelser som behöver skickas ut, och då skapar ett mail som skickas till dessa.

Förslagsvis ligger en "deadline" plus mailadressen i databasen.

miccroMedlem sedan aug. 200412 inlägg
#19

Utföra regelbundna städuppgifter

Nu har jag hållit på med php några år, och jag använder flera metoder för att göra bakgrundsjobb/städjobb.

En metod är att sist i php-scriptet, efter att </html> skickats till besökaren, utföra städjobbet eller vad det nu är, tex. radera tillfälliga filer eller uppdatera användarens data i userfilen eller nåt sånt. Nackdelen är att fastän </html> och flush(); har skickats så stängs inte tcp-sessionen mot besökarens webbläsare som tror att allt data inte kommit, förrän php-scriptet körts klart. Det verkar inte finnas nån lösning på detta, idealet vore att php hade ett kommando för att stänga tcp-sessionen men ändå fortsätta utföra kommandon. Man bör också ha ignore_user_abort(true); så att inte användaren (genom att klicka avbryt i webbläsaren) kan stoppa scriptet innan det körts klart.

Jag kör (från en windowsdator) schemaläggaren som var 10:e minut med NetCat -programmet anropar flera php-sidor på olika ställen, som utför olika jobb, tex. skicka mail med uppgifter, städa i filer, och liknande. De php-script som anropas kollar först att scriptet inte körts de senaste 9 minuterna. Det är inte alldeles kritiska saker som körs på detta sätt, för det kan ju hända att windowsdatorn eller dess internetanslutning är nere.

Mvh Mi Cro

PaceMedlem sedan juni 20019 024 inlägg
#20

Re: Utföra regelbundna städuppgifter

miccro skrev:

En metod är att sist i php-scriptet, efter att </html> skickats till besökaren, utföra städjobbet eller vad det nu är, tex. radera tillfälliga filer eller uppdatera användarens data i userfilen eller nåt sånt. Nackdelen är att fastän </html> och flush(); har skickats så stängs inte tcp-sessionen mot besökarens webbläsare som tror att allt data inte kommit, förrän php-scriptet körts klart. Det verkar inte finnas nån lösning på detta, idealet vore att php hade ett kommando för att stänga tcp-sessionen men ändå fortsätta utföra kommandon. Man bör också ha ignore_user_abort(true); så att inte användaren (genom att klicka avbryt i webbläsaren) kan stoppa scriptet innan det körts klart.

Kör bakgrundsjobbet i en annan tråd då.

134 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)