abonnement Unibet Coolblue Bitvavo
pi_126720610
quote:
5s.gif Op zondag 19 mei 2013 13:03 schreef papernote het volgende:
Hoe oud is je boek?
Uh het is Head first php & mysql.

quote:
2s.gif Op zondag 19 mei 2013 13:09 schreef Tijn het volgende:

[..]

Kun je al programmeren in andere talen?
Nee alleen HTML en CSS. Ik wil alleen een website maken die een database gebruikt voor iets dus wil het ook wat snappen. Daarnaast moet ik sowieso voor volgend semester MySQL gebruiken en waarschijnlijk willen ze dat je dan Access gebruikt, maar daar heb ik geen zin in.
Op vrijdag 22 juli 2011 00:30 schreef yvonne het volgende:
Ja DE Ik houd nog heel veel van je
  zondag 19 mei 2013 @ 14:01:49 #257
12221 Tijn
Powered by MS Paint
pi_126720676
quote:
17s.gif Op zondag 19 mei 2013 13:59 schreef DutchErrorist het volgende:

[..]

Nee
Dan zou ik me nog even helemaal niet bezighouden met databasetoegang en eerst zorgen dat je weet hoe variabelen, if-statements, loops, functies, objecten etc. werken.
  zondag 19 mei 2013 @ 14:02:49 #258
134783 papernote
Een echte.
pi_126720708
quote:
17s.gif Op zondag 19 mei 2013 13:59 schreef DutchErrorist het volgende:

[..]

Uh het is Head first php & mysql.
Head first het raam uit met dat boek. Het is uit 2008!! Dat is vijf jaar oud!
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126721216
quote:
11s.gif Op zondag 19 mei 2013 14:02 schreef papernote het volgende:

[..]

Head first het raam uit met dat boek. Het is uit 2008!! Dat is vijf jaar oud!
Nee :D Het is handig om de basics te begrijpen. Ik snap best wel dat het een en ander is veranderd, maar dat kan ik ook nog wel achteraf leren aan de hand van codacademy of andere websites. Als ik PHP wil gaan gebruiken zoek ik het sowieso van te voren voorbeelden op online voordat ik iets ga doen.

quote:
2s.gif Op zondag 19 mei 2013 14:01 schreef Tijn het volgende:

[..]

Dan zou ik me nog even helemaal niet bezighouden met databasetoegang en eerst zorgen dat je weet hoe variabelen, if-statements, loops, functies, objecten etc. werken.
Komt wel goed ;)
Op vrijdag 22 juli 2011 00:30 schreef yvonne het volgende:
Ja DE Ik houd nog heel veel van je
  zondag 19 mei 2013 @ 14:22:01 #260
12221 Tijn
Powered by MS Paint
pi_126721447
quote:
10s.gif Op zondag 19 mei 2013 14:15 schreef DutchErrorist het volgende:

[..]

Het is handig om de basics te begrijpen.
Wat je nu aan het doen vent heeft niks met de basics te maken.
pi_126756193
Heeft er iemand ook ervaring met het laten draaien van php scripts in de achtergrond (soortement van cronjob maar dan een script) die 24/7 draait? ik wil namelijk een service gaan maken waarbij ik een web interface ga schrijven en een cronjob wil draaien die het werk op de achtergrond doet.

Wil weten hoe stabiel dat is
Wil ook weten dat wanneer het script gestopt is/wordt ik deze weer automatisch kan starten
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 20 mei 2013 @ 09:19:49 #262
134783 papernote
Een echte.
pi_126756295
quote:
0s.gif Op maandag 20 mei 2013 09:08 schreef Chandler het volgende:
Heeft er iemand ook ervaring met het laten draaien van php scripts in de achtergrond (soortement van cronjob maar dan een script) die 24/7 draait? ik wil namelijk een service gaan maken waarbij ik een web interface ga schrijven en een cronjob wil draaien die het werk op de achtergrond doet.

Wil weten hoe stabiel dat is
Wil ook weten dat wanneer het script gestopt is/wordt ik deze weer automatisch kan starten
PHP is niet bedoelt om 24/7 te draaien. Dan kun je beter een andere programmeertaal gaan gebruiken. Bijvoorbeeld een Java of C++ applicatie maken die continue draait.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126756348
Juist, maar die kennis heb ik dus niet in huis. Maar kun je mij vertellen waarom niet? of iets er niet voor bedoeld is is natuurlijk heel wat anders of het wel/niet kan met de redenen daarvan :)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 20 mei 2013 @ 09:26:19 #264
187069 slacker_nl
Sicko pur sang
pi_126756385
quote:
2s.gif Op maandag 20 mei 2013 09:19 schreef papernote het volgende:

[..]

PHP is niet bedoelt om 24/7 te draaien. Dan kun je beter een andere programmeertaal gaan gebruiken. Bijvoorbeeld een Java of C++ applicatie maken die continue draait.
Idd, bash of perl :P
In theory there is no difference between theory and practice. In practice there is.
pi_126756405
quote:
0s.gif Op maandag 20 mei 2013 09:26 schreef slacker_nl het volgende:

[..]

Idd, bash of perl :P
Nogmaals, daar heb ik geen kaas van gegeten :P en heb nu al een leuk scriptje dat dagen kan draaien en zijn ding kan doen, maar daar willen we nu een interface omheen gaan schrijven om bepaalde processen te starten/stoppen etc.

Het scriptje doet nu al precies wat het moet doen alleen nog op basis van het aanroepen en het lekker laten lopen met user_ignore_abort... ( hehe ) en kan alleen afgesloten worden als daarvoor een instructie van de database afkomt of als het process is voltooid.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 20 mei 2013 @ 09:31:59 #266
134783 papernote
Een echte.
pi_126756450
quote:
15s.gif Op maandag 20 mei 2013 09:23 schreef Chandler het volgende:
Juist, maar die kennis heb ik dus niet in huis. Maar kun je mij vertellen waarom niet? of iets er niet voor bedoeld is is natuurlijk heel wat anders of het wel/niet kan met de redenen daarvan :)
http://symcbean.blogspot.(...)nning-processes.html

edit: het gaat hier over long-running en nog niet eens infinite-running scripts, maar een aantal nadelen staan genoemd. Natuurlijk kun je PHP vast misbruiken om eeuwig te blijven draaien, zul je het af-en-toe eens moeten killen om resources vrij te geven en dergelijke, maar het zal niet lekker gaan werken. Een programmeertaal bedoelt voor het maken van applicaties is een betere keuze.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126756532
Ik zal het doornemen! *)

-edit-

Staat niet dat het niet kan, wel dat het niet handig is ivm afbreken van het script door de server, veel gebruik van systeem resources etc. Maar dat laatste ben ik niet bang voor aangezien ik het script gebruik voor een specifiek iets... en na iedere actie het geheugen weer 100% terug geef..

Het afbreken van het script is wel een vervelend punt vandaar dat ik een oplossing hiervoor zoek, eventueel een cronjob die iedere minuut een check doet of het script nog draait en is dit niet het geval dan het script weer aanroepen zodat het weer verder kan gaan met draaien! *)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 20 mei 2013 @ 09:55:44 #268
187069 slacker_nl
Sicko pur sang
pi_126756797
quote:
0s.gif Op maandag 20 mei 2013 09:28 schreef Chandler het volgende:

Nogmaals, daar heb ik geen kaas van gegeten :P en heb nu al een leuk scriptje dat dagen kan draaien en zijn ding kan doen, maar daar willen we nu een interface omheen gaan schrijven om bepaalde processen te starten/stoppen etc.
Dan leer je het toch? Je kan PHP, dan kom je talen tegen waar het allemaal net iets logischer is.
In theory there is no difference between theory and practice. In practice there is.
pi_126757218
quote:
0s.gif Op maandag 20 mei 2013 09:38 schreef Chandler het volgende:
Ik zal het doornemen! *)

-edit-

Staat niet dat het niet kan, wel dat het niet handig is ivm afbreken van het script door de server, veel gebruik van systeem resources etc. Maar dat laatste ben ik niet bang voor aangezien ik het script gebruik voor een specifiek iets... en na iedere actie het geheugen weer 100% terug geef..
Totdat je ergens iets vergeet.
quote:
Het afbreken van het script is wel een vervelend punt vandaar dat ik een oplossing hiervoor zoek, eventueel een cronjob die iedere minuut een check doet of het script nog draait en is dit niet het geval dan het script weer aanroepen zodat het weer verder kan gaan met draaien! *)
En je infinite-running script zo af en toe via een cronjob aanzetten ipv continu laten draaien is geen optie?
  maandag 20 mei 2013 @ 11:03:17 #270
134783 papernote
Een echte.
pi_126758146
quote:
0s.gif Op maandag 20 mei 2013 10:21 schreef Light het volgende:

[..]

Totdat je ergens iets vergeet.
Of nog erger: totdat PHP iets vergeet en je er überhaupt niets aan kunt doen.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_126760795
quote:
0s.gif Op maandag 20 mei 2013 09:55 schreef slacker_nl het volgende:

[..]

Dan leer je het toch? Je kan PHP, dan kom je talen tegen waar het allemaal net iets logischer is.
Mooi, maar wil nog niet zeggen dat ik voor 1 iets gelijk een nieuwe taal moet gaan leren, daar heb ik helaas geen tijd / prioriteit voor..

quote:
0s.gif Op maandag 20 mei 2013 10:21 schreef Light het volgende:
Totdat je ergens iets vergeet.
Daar kom je snel genoeg achter met xdebug ;)
quote:
En je infinite-running script zo af en toe via een cronjob aanzetten ipv continu laten draaien is geen optie?
Tuurlijk is dat wel een optie! *) zou het script ook bv een uur of 3 kunnen laten lopen en daarna weer opnieuw opstarten maar als het niet hoeft, hoeft het niet! :+

quote:
2s.gif Op maandag 20 mei 2013 11:03 schreef papernote het volgende:

[..]

Of nog erger: totdat PHP iets vergeet en je er überhaupt niets aan kunt doen.
PHP iets vergeet? kun je dat eens uitleggen? maar om het script te stoppen zijn er dan nog aantal andere mogelijkheden om het script te stoppen (via database, via apc, via bestand, noem maar op).

:)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_126766090
Je zou bij het starten van je script de pid weg kunnen schrijven naar een bestand. Met een cronjob check je of deze nog draait, zo niet: starten.

Of je herstart 'm sowieso ieder uur oid.
pi_126772021
quote:
0s.gif Op maandag 20 mei 2013 14:43 schreef xaban06 het volgende:
Je zou bij het starten van je script de pid weg kunnen schrijven naar een bestand. Met een cronjob check je of deze nog draait, zo niet: starten.

Of je herstart 'm sowieso ieder uur oid.
Inderdaad een goed idee! maar dan heb je geen pid nodig hoor ;)

voorbeeld op: http://stackoverflow.com/(...)isnt-already-running

En herstarten lijkt me niet handig tenzij ik zeker weet dat hij niet draait, straks draaien er 10 instanties door elkaar... ook niet echt handig :+
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 20 mei 2013 @ 17:20:26 #274
12221 Tijn
Powered by MS Paint
pi_126772390
Maar waarom doet het script niet gewoon wat-ie moet doen en stopt-ie daarna, om vervolgens (bv door cron of door zichzelf) even later weer opnieuw te starten? Dat is toch een veel beter idee dan iets met een infinite loop?
pi_126772869
quote:
5s.gif Op maandag 20 mei 2013 17:20 schreef Tijn het volgende:
Maar waarom doet het script niet gewoon wat-ie moet doen en stopt-ie daarna, om vervolgens (bv door cron of door zichzelf) even later weer opnieuw te starten? Dat is toch een veel beter idee dan iets met een infinite loop?
Daar ben ik het dan ook wel mee eens! *)

Sowieso is het natuurlijk nooit slecht om af en toe even een machine op adem te laten komen. Eventueel handig om tabellen te optimaliseren...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  maandag 20 mei 2013 @ 17:35:28 #276
187069 slacker_nl
Sicko pur sang
pi_126773107
In theory there is no difference between theory and practice. In practice there is.
pi_126773704
Leuk, ben het aan het doornemen... child process voor php scriptjes *) nifty

* Unix only grrrr :+
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_126797385
Laat ook maar :)

[ Bericht 98% gewijzigd door xaban06 op 21-05-2013 04:07:14 ]
pi_126821958
Hoe zorg je dat een op de achtergrond lopend proces die (bv websites scant) niet door 1 gebruiker helemaal wordt overgenomen? maar netjes de taken over alle gebruikers verdeeld?

Wat is nou de juiste manier van aanpakken? iedere actieve user qua datetime nalopen op wie het laatste en het langst geleden is gescanned? hoe doet google dat? en is daar informatie over te lezen? heb al gezocht over threads, queues etc maar kon niet echt iets vinden waar ik wijzer van werd.

Voorbeeld:

Stel ik heb 2 gebruikers die websites laten scannen.
User 1 - > website.nl
User 2 -> website.com

Nu laad ik eerst user 1 en process de eerste pagina, daaruit haal ik alle links (36)
Daarna laad ik user 2 en process de eerste pagina, daaruit haal ik alle links (15).

In het tabel staat het nu zo
id 1 -> user 1 pagina 1
id 2 -> user 2 pagina 1
id 3 t/m 39 -> user 1 vervolg pagina
id 40 t/m 55 -> user 2 vervolg pagina

Dus als ik door ga met scannen gebeurd er dit.

user 1 laad de volgende pagina's in queue (3 t/m 39) en haalt daaruit 300 pagina's
user 2 laad de volgende pagina's in queue (40 t/m 55) en haalt daaruit 500 pagina's

tabel ziet er nu zo uit (vervolg)
id 56 t/m 356 -> user 1 vervolg pagina's
id 367 t/m 867 -> user 2 vervolg pagina's

user 1 laad de volgende pagina's in queue (56 t/m 356) en haalt daaruit 3000 pagina's
user 2 laad de volgende pagina's in queue (40 t/m 55) en haalt daaruit 5000 pagina's

tabel ziet er nu zo uit (vervolg) etc
id 868 t/m 3868 -> user 1 vervolg pagina's
id 3869 t/m 8869 -> user 2 vervolg pagina's

etc etc etc

Zoals je nu ziet wordt de verhouding erg scheef tussen het inlezen en het toevoegen aan de queue, dus mijn vraag is hoe ik dit beter kan oplossen?

[ Bericht 59% gewijzigd door Chandler op 21-05-2013 19:36:51 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 21 mei 2013 @ 19:36:47 #280
12221 Tijn
Powered by MS Paint
pi_126824328
Wat is een gebruiker in deze context?
pi_126824382
quote:
5s.gif Op dinsdag 21 mei 2013 19:36 schreef Tijn het volgende:
Wat is een gebruiker in deze context?
Een gebruiker is iemand die een job invoert op de site, zie vorige bewerkte post... hopelijk een stuk duidelijker.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 21 mei 2013 @ 19:38:51 #282
137776 boem-dikkie
Jedi Mind Baby!
pi_126824490
Ik snap echt helemaal niks van je verhaal. :')
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_126824718
quote:
10s.gif Op dinsdag 21 mei 2013 19:38 schreef boem-dikkie het volgende:
Ik snap echt helemaal niks van je verhaal. :')
Was ik al bang voor, maar je ziet toch wel het gevolg van het invullen van de database tabellen? of moet ik het even voor je voormaken? zodat je zo'n 9000 url's in een overzicht krijgt :+
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 21 mei 2013 @ 19:48:38 #284
118585 Crutch
Filantroop || Taalzwengel
pi_126825253
quote:
0s.gif Op dinsdag 21 mei 2013 19:04 schreef Chandler het volgende:
Hoe zorg je dat een op de achtergrond lopend proces die (bv websites scant) niet door 1 gebruiker helemaal wordt overgenomen? maar netjes de taken over alle gebruikers verdeeld?

Wat is nou de juiste manier van aanpakken? iedere actieve user qua datetime nalopen op wie het laatste en het langst geleden is gescanned? hoe doet google dat? en is daar informatie over te lezen? heb al gezocht over threads, queues etc maar kon niet echt iets vinden waar ik wijzer van werd.

Voorbeeld:

Stel ik heb 2 gebruikers die websites laten scannen.
User 1 - > website.nl
User 2 -> website.com

Nu laad ik eerst user 1 en process de eerste pagina, daaruit haal ik alle links (36)
Daarna laad ik user 2 en process de eerste pagina, daaruit haal ik alle links (15).

In het tabel staat het nu zo
id 1 -> user 1 pagina 1
id 2 -> user 2 pagina 1
id 3 t/m 39 -> user 1 vervolg pagina
id 40 t/m 55 -> user 2 vervolg pagina

Dus als ik door ga met scannen gebeurd er dit.

user 1 laad de volgende pagina's in queue (3 t/m 39) en haalt daaruit 300 pagina's
user 2 laad de volgende pagina's in queue (40 t/m 55) en haalt daaruit 500 pagina's

tabel ziet er nu zo uit (vervolg)
id 56 t/m 356 -> user 1 vervolg pagina's
id 367 t/m 867 -> user 2 vervolg pagina's

user 1 laad de volgende pagina's in queue (56 t/m 356) en haalt daaruit 3000 pagina's
user 2 laad de volgende pagina's in queue (40 t/m 55) en haalt daaruit 5000 pagina's

tabel ziet er nu zo uit (vervolg) etc
id 868 t/m 3868 -> user 1 vervolg pagina's
id 3869 t/m 8869 -> user 2 vervolg pagina's

etc etc etc

Zoals je nu ziet wordt de verhouding erg scheef tussen het inlezen en het toevoegen aan de queue, dus mijn vraag is hoe ik dit beter kan oplossen?
Waarom doe je alles in 1 table? Da's toch niet meer bij te houden?
Je moeder is een hamster
pi_126825337
Waarom niet? in deze tabel staan alleen maar het volgende

id, project_id, url, ref_id, last_visit :)

That's all
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 21 mei 2013 @ 19:53:05 #286
118585 Crutch
Filantroop || Taalzwengel
pi_126825571
Dus ref_id is de id met de url van de pagina waarin de url gevonden is?
Oftewel z'n 'parent'-pagina?
Je moeder is een hamster
  dinsdag 21 mei 2013 @ 19:57:51 #287
118585 Crutch
Filantroop || Taalzwengel
pi_126825952
Misschien kun je een tabel met 'tasks' maken.
Als een thread dan klaar is met lezen, steelt hij een aantal taken van de andere user die nog bezig is. And so on.
Je moeder is een hamster
pi_126826133
quote:
0s.gif Op dinsdag 21 mei 2013 19:53 schreef Crutch het volgende:
Dus ref_id is de id met de url van de pagina waarin de url gevonden is?
Oftewel z'n 'parent'-pagina?
Correct :)

quote:
0s.gif Op dinsdag 21 mei 2013 19:57 schreef Crutch het volgende:
Misschien kun je een tabel met 'tasks' maken.
Als een thread dan klaar is met lezen, steelt hij een aantal taken van de andere user die nog bezig is. And so on.
Dat is dus het probleem, ik zou liever zien dat ik bv per gebruiker 1 url uitlees, daarvan de links in de database invoer en op ga naar de volgende user (job) en daarvan 1 url uitlees en etc etc etc..
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 21 mei 2013 @ 20:08:28 #289
118585 Crutch
Filantroop || Taalzwengel
pi_126826731
Dan verdeel je geen taken, maar krijgen beide users vanaf het begin een specifiek domein en blijven altijd de onderliggende pagina's en url die aanvankelijk uit dat domein gekomen zijn scannen.

Oftewel; ik denk niet dat wat jij wil kan zonder dat de processen scheef gaan lopen, want ze nemen elkaar in principe geen werk uit handen dus is er geen balans.
Je moeder is een hamster
pi_126827023
quote:
0s.gif Op dinsdag 21 mei 2013 20:08 schreef Crutch het volgende:
Dan verdeel je geen taken, maar krijgen beide users vanaf het begin een specifiek domein en blijven altijd de onderliggende pagina's en url die aanvankelijk uit dat domein gekomen zijn scannen.

Oftewel; ik denk niet dat wat jij wil kan zonder dat de processen scheef gaan lopen, want ze nemen elkaar in principe geen werk uit handen dus is er geen balans.
Nee klopt maar het zou mooi zijn als ik de een een url kon laten opvragen, die verwerken en dan de url van de volgende opvragen ongeacht hoe lang de queue is...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 21 mei 2013 @ 20:21:47 #291
118585 Crutch
Filantroop || Taalzwengel
pi_126827475
quote:
0s.gif Op dinsdag 21 mei 2013 20:13 schreef Chandler het volgende:

[..]

Nee klopt maar het zou mooi zijn als ik de een een url kon laten opvragen, die verwerken en dan de url van de volgende opvragen ongeacht hoe lang de queue is...
poehhhhhh.....
Dan zou je moeten bepalen wat een url is en wat een url is komende uit zo'n 'parent'-url; eenmaal begonnen loop je het risico dat er geen eind aan het scannen komt, neem bijvoorbeeld wikipedia. :')

Je queue kan dan wel eens exponentieel oplopen, interessant wel, maar ook dweilen met de kraan open.
Je moeder is een hamster
pi_126844471
quote:
0s.gif Op dinsdag 21 mei 2013 20:21 schreef Crutch het volgende:

[..]

poehhhhhh.....
Dan zou je moeten bepalen wat een url is en wat een url is komende uit zo'n 'parent'-url; eenmaal begonnen loop je het risico dat er geen eind aan het scannen komt, neem bijvoorbeeld wikipedia. :')

Je queue kan dan wel eens exponentieel oplopen, interessant wel, maar ook dweilen met de kraan open.
Dat bedoel ik, dus als ik het op deze manier doe moet ik OF voor iedere job een apart script laten lopen OF een script maken die jobs netjes verdeeld en ongeacht de lengte van de queue de url's verwerkt...

GlowMouse? Catch22? en anderen? jullie ideeen?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 22 mei 2013 @ 08:48:49 #293
166255 Maringo
Bèhèhèhèh
pi_126845073
Wat perspectief is misschien ook handig. Om hoeveel websites gaat het? Hoeveel user? Hoe groot zijn de websites?

En op de vraag hier Google het doet, weet alleen Google het antwoord. Maar ga er vanuit dat hun niet 1 job per keer laten draaien.
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_126845419
quote:
0s.gif Op woensdag 22 mei 2013 08:48 schreef Maringo het volgende:
Wat perspectief is misschien ook handig. Om hoeveel websites gaat het? Hoeveel user? Hoe groot zijn de websites?
Ok,

5 users, 5 sites :) en hoe groot de websites zijn maakt op zich weinig uit, de ene heeft 20 pagina's de andere 20.000.000 :)

Een ander voorbeeld: Stel er zijn mensen die op youtube video's uploaden (LOL, wie doet dat nou?) en youtube kan maar 1 video per keer converteren!. Er is dan een wachtrij waarin video's gezet worden. Opeens is er een gebruiker die 20 video's toevoegt (speeltijd: 6000 uur) en deze komen allemaal in de wachtrij, daarna komt er 1 gebruiker en die upload een videotje van 30 seconden. Nu moet deze laatste gebruiker wachten totdat de 20 video's van de vorige gebruiker is voltooid, terwijl het eerlijker zou zijn als er van de ene gebruiker 1 video verwerkt wordt en daarna die van de ander en etc etc etc..

Duidelijker? :D

Maar uit de respons blijkt dat er blijkbaar niemand hier gewerkt heeft aan zo'n systeem :@ :+

quote:
En op de vraag hier Google het doet, weet alleen Google het antwoord. Maar ga er vanuit dat hun niet 1 job per keer laten draaien.
Daar ga ik natuurlijk ook niet vanuit ;) maar er zijn genoeg sites die dit soort zaken regelen met 1 job controller oid!? zie iets beter geschetst voorbeeld;


Even een grof voorbeeld; gebruiker B die dus zorgt dat andere websites ERG lang moeten wachten voordat ze klaar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
4 klanten die informatie willen invoeren
Klant A -> wil www.kleinewebsite.nl uitlezen
Klant B -> wil www.google.com uitlezen
Klant C -> wil www.anderekleinesite.nl uitlezen
Klant D -> wil www.fok.nl uitlezen

Eerste run;
Klant A leest site en vind 50 links = ID 1 t/m 50 (tijd 1 seconde)
Klant B leest site en vind 500 links = ID 51 t/m 551 (tijd 1 seconde)
Klant C leest site en vind 10 links = ID 551 t/m 561 (tijd 1 seconde)
Klant D leest site en vind 4 links = ID 562 t/m 566 (tijd 1 seconde)

Tweede run
Klant A leest volgende links uit en vind 500 links in de 50 uitgelezen links = ID 567 t/m 1067 (tijd 50 seconde)
Klant B leest volgende links uit en vind 50000 links in de 500 uitgelezen links = ID 1068 t/m 6068 (tijd 4 minuten)
Klant C leest volgende links uit en vind 200 links in de 10 uitgelezen links = ID 6069 t/m 6269 (tijd 1 minuut)
Klant D leest volgende links uit en vind 20 links in de 4 uitgelezen links = ID 6270 t/m 6280 (tijd 20 seconden)

Derde run;
Klant A leest volgende links uit en vind 5000 links in de 500 uitgelezen links = ID 6281 t/m 12281 (tijd 4 minuten)
Klant B leest volgende links uit en vind 500000 links in de 50000 uitgelezen links = ID 12281 t/m 512281 (tijd 66 uur)
Klant C leest volgende links uit en vind 2000 links in de 200 uitgelezen links = ID 512282 t/m 514282 (tijd 2 minuten)
Klant D leest volgende links uit en vind 5 links in de 20 uitgelezen links = ID 514282 t/m 514287 (tijd 25 seconden)

Alles is fictief maar laat zien dat 1 gebruiker dus de queue erg lang in gebruik kan nemen terwijl het eerlijker zou zijn als ik per gebruiker per ronde 1 link uitlees oid?!

Mocht iemand leesvoer hebben dan zie ik die graag gepost! *)

[ Bericht 19% gewijzigd door Chandler op 22-05-2013 09:38:03 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 22 mei 2013 @ 09:38:53 #295
187069 slacker_nl
Sicko pur sang
pi_126846019
quote:
0s.gif Op woensdag 22 mei 2013 09:10 schreef Chandler het volgende:

[..]

Ok,

5 users, 5 sites :) en hoe groot de websites zijn maakt op zich weinig uit, de ene heeft 20 pagina's de andere 20.000.000 :)

Een ander voorbeeld: Stel er zijn mensen die op youtube video's uploaden (LOL, wie doet dat nou?) en youtube kan maar 1 video per keer converteren!. Er is dan een wachtrij waarin video's gezet worden. Opeens is er een gebruiker die 20 video's toevoegt (speeltijd: 6000 uur) en deze komen allemaal in de wachtrij, daarna komt er 1 gebruiker en die upload een videotje van 30 seconden. Nu moet deze laatste gebruiker wachten totdat de 20 video's van de vorige gebruiker is voltooid, terwijl het eerlijker zou zijn als er van de ene gebruiker 1 video verwerkt wordt en daarna die van de ander en etc etc etc..

Duidelijker? :D

Maar uit de respons blijkt dat er blijkbaar niemand hier gewerkt heeft aan zo'n systeem :@ :+

Even een grof voorbeeld; gebruiker B die dus zorgt dat andere websites ERG lang moeten wachten voordat ze klaar.

[..]

Daar ga ik natuurlijk ook niet vanuit ;) maar er zijn genoeg sites die dit soort zaken regelen met 1 job controller oid!? zie iets beter geschetst voorbeeld;
[ code verwijderd ]

Alles is fictief maar laat zien dat 1 gebruiker dus de queue erg lang in gebruik kan nemen terwijl het eerlijker zou zijn als ik per gebruiker per ronde 1 link uitlees oid?!

Mocht iemand leesvoer hebben dan zie ik die graag gepost! *)
Ik zou gewoon queue's maken. Je hebt verschillende q-runners die een zooi links uitlezen. Onafhankelijk vd gebruiker.
In theory there is no difference between theory and practice. In practice there is.
pi_126846079
quote:
0s.gif Op woensdag 22 mei 2013 09:38 schreef slacker_nl het volgende:

[..]

Ik zou gewoon queue's maken. Je hebt verschillende q-runners die een zooi links uitlezen. Onafhankelijk vd gebruiker.
Kun je dat iets breder uitleggen? q-runners? zal eens googlen! *)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 22 mei 2013 @ 09:49:17 #297
12221 Tijn
Powered by MS Paint
pi_126846270
quote:
0s.gif Op woensdag 22 mei 2013 09:10 schreef Chandler het volgende:

[..]

Opeens is er een gebruiker die 20 video's toevoegt (speeltijd: 6000 uur) en deze komen allemaal in de wachtrij, daarna komt er 1 gebruiker en die upload een videotje van 30 seconden. Nu moet deze laatste gebruiker wachten totdat de 20 video's van de vorige gebruiker is voltooid, terwijl het eerlijker zou zijn als er van de ene gebruiker 1 video verwerkt wordt en daarna die van de ander en etc etc etc..
Waarom zou dat eerlijker zijn? Gewoon first in, first out lijkt me juist het toonbeeld van eerlijkheid.
  woensdag 22 mei 2013 @ 09:53:37 #298
187069 slacker_nl
Sicko pur sang
pi_126846386
quote:
0s.gif Op woensdag 22 mei 2013 09:41 schreef Chandler het volgende:

[..]

Kun je dat iets breder uitleggen? q-runners? zal eens googlen! *)
Je hebt een queue, daarin staan je links (of verwijzingen ernaar), en je hebt een queue runner. Dan pakt je q-runner een zut links, tagged de queue (zodat andere runners niet dezelfde links gaan ophalen), processed een qitem, en sluit spul af. Voordeel is dat je meerdere queue-runners kan hebben, simultaan kan draaien, je hoeft niet te kijken naar de gebruiker, maar je pakt gewoon shit op wat in de queue staat. Is er niks, dan draait de qrunner niet (of heel kort), is er veel, dan pakt ie alles in batches op en doet ie z'n ding.
In theory there is no difference between theory and practice. In practice there is.
pi_126847735
quote:
5s.gif Op woensdag 22 mei 2013 09:49 schreef Tijn het volgende:
Waarom zou dat eerlijker zijn? Gewoon first in, first out lijkt me juist het toonbeeld van eerlijkheid.
Omdat iemand op zo'n manier kan zorgen dat hij 3 dagen de site voor zch aan het werk heeft en de ander daarna pas zijn job kan doen... en daarvoor wil ik dus een passende oplossing vinden..

Zat zelf te denken aan draaiende processen een time mee te geven en dan steeds een url processen van de langst wachtende oid...?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 22 mei 2013 @ 11:52:28 #300
166255 Maringo
Bèhèhèhèh
pi_126850269
Dus eigenlijk een multidimensionale array zoals dit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
array(
    1 => array (
        "name" => "user1",
        "websites" => array (
            1 => "website1a",
            2 => "website1b",
            3 => "website1c"
        )
    ),
    2 => array (
        "name" => "user2",
        "websites" => array (
            1 => "website2a"
        )
    ),
    3 => array (
        "name" => "user3",
        "websites" => array (
            1 => "website3a",
            2 => "website3b"
        )
    )
);

En dan nadat user 1 klaar is met de eerste website wordt ie achteraan gezet en wordt user2 de eerste volgende etc etc.

Dan worden de websites in deze volgorde verwerkt:
website1a
website2a
website3a
website1b
website3b
website1c

Dat bedoel je toch?
Die volg topic-knop hè...
Op 02-06-2014 16:38 schreef Moeraskat
Je bent te goed voor de mensheid.
pi_126851295
Node.js _O_
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')