Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Een sql database zichzelf laten verversen zonder agent

Pagina: 1
Acties:

  • mauricepwnd
  • Registratie: juni 2010
  • Laatst online: 28-09 22:23
Geachte medetweakers,

Even kort: Ik ben een student aan de HAN technische informatica en zit op dit moment in de afrondig van mijn propedeuse. Hierin wordt een veilingsite gemaakt zoals marktplaats.

We werken in Microsoft SQL express 2012.
Nu is het probleem dat we in dit project geen gebruik mogen maken van agents om de database zelf veilingen te laten sluiten.

Nu is mijn vraag hoe jullie dit zouden oplossen, een leraar hier geeft zelf aan dat een script in de header van de website dit zou kunnen doen. Hier ben ik zelf op tegen omdat de veilingen dan dus alleen maar sluiten als er gebruikers actief zijn.

Met vriendelijke groet,
Maurice

NB. dit is de actie die ik wil uitvoeren zodra er een veiling afgelopen is.

create proc dbo.eindigVeiling(@voorwerpnummer numeric(10))
as
BEGIN
UPDATE Voorwerp
set verlopen = 'Y',
koper = ( select Bod.gebruikersnaam
from Bod inner join Voorwerp on Bod.voorwerpnummer = Voorwerp.voorwerpnummer
where Bod.voorwerpnummer = @voorwerpnummer and bod.#euro = dbo.Vorigbod(@voorwerpnummer)),
verkoopprijs = dbo.Vorigbod(@voorwerpnummer)
END

  • NMe
  • Registratie: februari 2004
  • Laatst online: 20:48

NMe

Quia Ego Sic Dico.

En wat zegt je leraar als reactie op jouw (terechte) bezwaar?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Hydra
  • Registratie: september 2000
  • Laatst online: 24-10 15:55
En naast wat NMe zegt: heb je nog iemand nodig die genoeg senioriteit heeft om je leraar eens goed de waarheid te zeggen? :P Normaal lost je zo iets met een simpele CRON-job op.

https://niels.nu


  • mauricepwnd
  • Registratie: juni 2010
  • Laatst online: 28-09 22:23
De school maakt gebruik van een externe partij die de server beheert. Deze bieden 1 server aan waar alle projectgroepen hun database op mogen draaien. Daardoor komt er geen toestemming voor een agent

  • juhet
  • Registratie: november 2007
  • Laatst online: 22:52
Als je toch al weet wanneer een veiling zou moeten sluiten kun je deze een einddatum meegeven toch?

strava


  • expor
  • Registratie: juni 2005
  • Laatst online: 24-09 11:03
Apart :) Ik heb dezelfde opleiding (HAN Arnhem) gedaan en destijds was het ook een externe partij die de server beheerde. Echter konden wij wel gewoon cronjobs draaien voor exact dit doel.

[Voor 3% gewijzigd door expor op 02-12-2015 14:12]

AMD 3600X @ 4.4ghz | 16gb DDR 4 @ 3800/14 | 2070 Super | 1TB Samsung Evo 970, 1TB Samsung Evo 860, 512MB Crucial


  • E-Vix
  • Registratie: juni 2000
  • Laatst online: 22-10 20:18

E-Vix

Nu met sneeuw!

De leraar is dus je opdrachtgever, en de opdrachtgever heeft dus aangegeven dat ze liever geen agents willen. Dan is het nu jouw taak om als 'bedrijf' de opdrachtgever te overtuigen dat het niet gebruiken van agents mogelijk voor vervelende bijwerkingen zou kunnen zorgen. Lijkt mij gewoon een onderdeel van je opdracht.
Zorg er in ieder geval dat je je argumenten goed kunt onderbouwen. Schakel desnoods een consultant in (neem aan dat die er ook zijn bij het project) om informatie in te winnen of het wel of niet haalbaar is met of zonder agents.

Failed opening '/home/users/7942/signature.inc' for inclusion (include_path='.:') in /home/www/got/userstats.php on line 25


  • mauricepwnd
  • Registratie: juni 2010
  • Laatst online: 28-09 22:23
Na nogmaals overleg met de leraar, heeft hij aangegeven dat een agent inderdaad handiger zou zijn. Helaas zitten we hier met veel groepen met allemaal een eigen database. Hij zag hier te veel potentie voor een crashende service agent. Daardoor heeft hij dit besluit genomen.

  • -hopsa-
  • Registratie: maart 2012
  • Laatst online: 24-10 18:50
SQL Server Express heeft geen Agent. Dan zou je dus sowieso een externe agent moeten gebruiken. Die kun je gerust laten crashen. Heeft de rest geen last van.

  • CyBeR
  • Registratie: september 2001
  • Niet online

CyBeR

💩

Zijn er andere acties die je moet ondernemen als een veiling sluit (zoals e-mails sturen, etc.)? Zo nee, kun je met de data in je database prima afleiden dat de veiling gesloten is en 'm on-demand updaten als de betreffende pagina bekeken wordt.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • NMe
  • Registratie: februari 2004
  • Laatst online: 20:48

NMe

Quia Ego Sic Dico.

Het sneeuwt een beetje onder maar...
juhet schreef op woensdag 02 december 2015 @ 14:11:
Als je toch al weet wanneer een veiling zou moeten sluiten kun je deze een einddatum meegeven toch?
...dit is een goed punt. Waarom moet je een veiling die afgelopen is sluiten? Je kan inderdaad toch gewoon de einddatum en -tijd vooraf opslaan? Ligt de einddatum in het verleden, dan is de veiling afgelopen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Jogai
  • Registratie: juni 2004
  • Laatst online: 24-10 17:26
Aangezien MS sql wordt gebruikt is de rest misschien ook in MS oplossingen gemaakt. Je kan een windows service maken die het voor je uitvoert, of misschien met hangfire als je asp.net gebruikt.

Full time freelance sinds 2020! Link me =====> www.linkedin.com/in/wdingemanse


  • Gomez12
  • Registratie: maart 2001
  • Laatst online: 24-10 12:03
Hoe wil je eigenlijk exact een veiling sluiten?

Want je stored procedure die verwacht een voorwerpnummer en die heeft een agent ook niet (of je moet expliciete agents per voorwerpnummer gaan inzetten maar dan blijf je bezig)

Wat ik in principe zou doen is aan de veiling een einddatum hangen zodat die in ieder geval afgelopen is.

En opzich kan je je afvragen of het noodzakelijk is om een koper te gaan berekenen als er niemand is die er naar kijkt (als er iemand naar kijkt krijgt hij ook de header mee)

En tja, agents gebruik ik eigenlijk ook praktisch nooit omdat ik het bereik te beperkt vindt.
Wat ik bijna altijd doe is :
- Maak "Onderhoudspagina's" die bijv ook status verslagen opleveren etc
- Hang in een monitoring systeem die onderhoudspagina's. (Hier bijv of alle veilingen goed gesloten zijn en of ze binnen 10 seconden gesloten zijn is dan je check)
- Dan kan je monitoring systeem je schedules afhandelen etc

DB-Agents vind ik leuk/handig voor echte db-handelingen zoals backup / consistentie checks / mogelijk herindexeren etc etc maar niet voor applicatie handelingen die binnen de db uitgevoerd meoten worden.

  • KabouterSuper
  • Registratie: september 2005
  • Niet online
Als je de veiling alleen in de database sluit, waarom zou je dan moeite doen om dit buiten de header om te doen? Immers, de eerste persoon die de website benadert na het sluiten zal de veiling als gesloten zien (want net daarvoor in de header gesloten).

  • NMe
  • Registratie: februari 2004
  • Laatst online: 20:48

NMe

Quia Ego Sic Dico.

KabouterSuper schreef op donderdag 03 december 2015 @ 14:51:
Als je de veiling alleen in de database sluit, waarom zou je dan moeite doen om dit buiten de header om te doen? Immers, de eerste persoon die de website benadert na het sluiten zal de veiling als gesloten zien (want net daarvoor in de header gesloten).
Omdat je dan elke ochtend een gebruiker opzadelt met een hele lange wachttijd? Omdat je geautomatiseerd mailtjes wil sturen na afloop van een veiling, ook als er toevallig niemand op de site is? Omdat je statistieken wil bijwerken als een veiling gesloten is?

Zomaar even wat redenen waarom het een slecht idee is om dit in de header te doen. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • KabouterSuper
  • Registratie: september 2005
  • Niet online
NMe schreef op donderdag 03 december 2015 @ 14:57:
[...]

Omdat je dan elke ochtend een gebruiker opzadelt met een hele lange wachttijd? Omdat je geautomatiseerd mailtjes wil sturen na afloop van een veiling, ook als er toevallig niemand op de site is? Omdat je statistieken wil bijwerken als een veiling gesloten is?

Zomaar even wat redenen waarom het een slecht idee is om dit in de header te doen. ;)
Tuurlijk, je hebt gelijk, maar de TS kan dit ook zelf bedenken. Maar om even te stoken:

1) Geen enkel database heeft moeite om een kolommetje in een record te updaten. Tegen de tijd dat dit wel een probleem wordt omdat je duizenden record moet updaten, heb je waarschijnlijk ook wat meer opties om het fatsoenlijk op te lossen.
2) Wat betreft de andere redenen: vandaar mijn disclaimer: "Als je de veiling alleen in de database wilt sluiten". Als je andere acties wilt triggeren, dan is het inderdaad niet handig om het in de header te stoppen.

  • BoAC
  • Registratie: februari 2003
  • Laatst online: 20:07

BoAC

Memento mori

Ik kan zo niet zien waarop je site wordt gehost. Als dit een .NET applicatie is kun je in je glocal.asax een cron (evt in een thread) maken die iedere nacht draait op een gegeven moment. Is geen nette oplossing maar voldoet wel voor je.

  • KabouterSuper
  • Registratie: september 2005
  • Niet online
Je kunt natuurlijk ook altijd vanaf een andere website een cronjob maken die jouw website triggert.....ook niet fraai, maar het werkt wel.
Pagina: 1


Microsoft Xbox Series X LG CX Google Pixel 5 CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True