Jay Kay Posted November 25, 2010 Report Share Posted November 25, 2010 ir source xml fails, kurā kkas vecs tiek izmests un jauns tiek pievienots. es vēlos uzturēt cik vien iespējams aktuālu kopiju uz sava servera. ar cron tabu uzliku, lai pārkopē noteiktos laikos, taču tomēr nav pietiekama aktualitāte. vai vienīgais veids ir crontab, kuru uzliek, lai ik pa, piemēram, 5min salīdzina un pārkopē vai arī ir vēl kaut kādi varianti? Quote Link to comment Share on other sites More sharing options...
Kaklz Posted November 25, 2010 Report Share Posted November 25, 2010 Pastāsti vairāk par to XML, no kurienes tu viņu ņem, vai tev ir pieeja arī pie tās sistēmas? Quote Link to comment Share on other sites More sharing options...
Mr.Key Posted November 25, 2010 Report Share Posted November 25, 2010 Nē, tas nav vienīgais veids. Quote Link to comment Share on other sites More sharing options...
marrtins Posted November 25, 2010 Report Share Posted November 25, 2010 Vēl ir variants DRDB+GlusterFS Quote Link to comment Share on other sites More sharing options...
Jay Kay Posted November 26, 2010 Author Report Share Posted November 26, 2010 es savu lapu hostoju pie SigmaNet un source xml fails ir no Latvijas Vēstneša - www.lv.lv/rss/amatuk.xml kur es varu iemācīties/uzzināt par servera noslodzi? (jā, es jau mācos universitātē) gribu saprast, kādas manas darbības noslogo serveri un šajā gadījumā, cik ļoti serveris tiks noslogots, ja crontab tiks uzstādīts tā, lai izpildītu nelielu skriptu reizi minūtē. vai tas atkarīgs tikai no tā, cik resursu prasošas darbības izpilda skripts? tā kā serverī man nav tādas tiesības, tad DRDB+GlusterFS man neies cauri laikam. Quote Link to comment Share on other sites More sharing options...
Kaklz Posted November 26, 2010 Report Share Posted November 26, 2010 Man ir aizdoma, ka šie nav tie dati, kuriem būtu nepieciešama "reālā laika" aktualitāte un pilnīgi pietiek ar crontab risinājumu. Ja tu gribi būt pārliecināts, ka cilvēki saņems info par to, ka ir jauns amata konkurss tiklīdz viņš tiek publicēts, tad veido savā pusē apziņošanas sistēmu, kaut vai izsūtot interesentiem e-pastus par jaunajiem konkursiem, nevis paļaujies uz to, ka lietotāji pamanīs jaunos konkursus tad, kad ienāks tavā lapā. Pie šāda risinājuma 5 minūšu nobīde būs pilnīgs sīkums. Quote Link to comment Share on other sites More sharing options...
Jay Kay Posted November 26, 2010 Author Report Share Posted November 26, 2010 (edited) es ticu, ka 5 min šajā gadījumā būs pilnīgs sīkums, taču es gribu zināt veidu kā vislabāk uzturēt failu aktuālu. vēl man ir ideja nolasīt lapas modification time ar $fup="http://lv.lv/rss/amatuk.xml"; $nup=fopen($fup,"r"); echo "<pre>"; $read=stream_get_meta_data($nup); print_r ($read[wrapper_data][1]); echo "</pre>"; fclose($nup); un katru reizi pirms lietotājs mēģinās failu atvērt uz mana servera, tiks salīdzināts modifikācijas datums un attiecīgi tiks vai nu netiks veikta kopēšana, taču šajā gadījumā source serveris (no www.lv.lv) atgriež šī brīža datumu un laiku, tādēļ neder. varbūt kaut kādas idejas par šo risinājumu? Edited November 26, 2010 by Jay Kay Quote Link to comment Share on other sites More sharing options...
Kaklz Posted November 26, 2010 Report Share Posted November 26, 2010 Saglabā savā pusē, kad tu pēdējo reizi esi apdeitojis tos datus. Ja senāk, kā, piemēram, 5min atpakaļ, tad velc jaunākus datus, ja ne, tad rādi esošos. Quote Link to comment Share on other sites More sharing options...
briedis Posted November 26, 2010 Report Share Posted November 26, 2010 Man bija šāda metode twitter kešošanai lokāli: //Atjaunojam twittera JSON datus ik 5 minūtes function updateTwitter(){ $path = "js/twitter.json"; //Vieta, kur glabājas JSON dati $username = "my_twitter_username"; //Lietotājvārds $entry_count = 6; //Atgriežamo ierakstu skaits $update_interval = 300; // 5 minūtes $url = "http://twitter.com/statuses/user_timeline/$username.json?callback=twitterCallback2&count=$entry_count"; $stat = stat($path); $last_mod = (int)$stat[9]; //Kad pēdējo reizi labots fails. $delta_mins = time() - $last_mod; if($delta_mins > $update_interval){ //defaultā 5 minūtes = 300 sekundes if($json_data = @file_get_contents($url)){ //Suppress warnings, ja neizdodas dabūt datus file_put_contents($path, $json_data); } else{ touch($path); //Pabakstam failu (maina pēdējās modificēšanas datumu), lai nav jāmēģina atkal, ja neizdevās dabūt datus } } } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.