#1 2. 12. 2009 21:29

weckho
Člen
Registrovaný: 14. 7. 2009
Příspěvky: 98

Spuštění části aplikace cronem

Ahoj,

potřeboval spouštět pravidelně část aplikace cronem. Jedná se o pár dotazů na DB + odeslání emailů. Rád bych se zeptal, jak by měla tato část aplikace vypadat? Bude potřeba soubor šablony, nebo stačí model + presenter, který bude volat dané funkce z modelu? Nemám vůbec představu, může mi prosím někdo poradit, jak na to?

Díky moc.

Offline

 

#2 2. 12. 2009 22:40

blacksun
Člen
Místo: Kladno
Registrovaný: 26. 9. 2008
Příspěvky: 119

Re: Spuštění části aplikace cronem

A je potřeba na to znásilňovat nette, když by to mohl být jeden jednoduchý soubor o pár řádcích kódu?

Offline

 

#3 3. 12. 2009 9:39

Martin Mates
Člen
Místo: Praha
Registrovaný: 4. 11. 2008
Příspěvky: 166
Web

Re: Spuštění části aplikace cronem

Já to řeším takhle (pravidelný import aut do autobazaru):

<?php
// absolute filesystem path to the web root
define('WWW_DIR', dirname(__FILE__));

// absolute filesystem path to the application root
define('APP_DIR', WWW_DIR . '/app');

// absolute filesystem path to the libraries
define('LIBS_DIR', WWW_DIR . '/libs');


require_once LIBS_DIR . '/Nette/loader.php';

Debug::enable();

Environment::loadConfig();

$loader = new RobotLoader();
$loader->addDirectory(APP_DIR);
$loader->addDirectory(LIBS_DIR);
$loader->register();

dibi::connect(Environment::getConfig('database'));

// tady už můžeš sekat dotazy



exit();
?>

Java is to JavaScript like ham is to hamster. (www.martin-mates.cz)

Offline

 

#4 3. 12. 2009 10:44

Jakub Šulák
Nette guru
Místo: Brno
Registrovaný: 26. 8. 2008
Příspěvky: 247
Web

Re: Spuštění části aplikace cronem

Ještě je pak další možnost napsat si do CRONu skript, který jednodušše volá přes curl standardní URL (http://neco.cc/presenter/view/). Dobře se to testuje (skript je možné volat i normálně), navíc lze skript volat kromě pravidelného volání CRONem i na vyžádání uživatele.

Ochrana před nedovoleným voláním lze řešit nějakou formou autentizace.

Offline

 

#5 3. 12. 2009 10:48

Ondřej Brejla
Nette guru
Místo: Praha
Registrovaný: 20. 4. 2008
Příspěvky: 439
Web

Re: Spuštění části aplikace cronem

A co využít CliRouter?

Offline

 

#6 3. 12. 2009 14:40

gmvasek
Nette guru
Místo: Brno
Registrovaný: 19. 3. 2009
Příspěvky: 249
Web

Re: Spuštění části aplikace cronem

Jakub Šulák napsal(a):

Ještě je pak další možnost napsat si do CRONu skript, který jednodušše volá přes curl standardní URL (http://neco.cc/presenter/view/). Dobře se to testuje (skript je možné volat i normálně), navíc lze skript volat kromě pravidelného volání CRONem i na vyžádání uživatele.

Ochrana před nedovoleným voláním lze řešit nějakou formou autentizace.

Tak to taky dělám, vlastní soubor používám jen v případě že cron nejde volat přes http.

Offline

 

#7 4. 12. 2009 18:35

Jakub Šulák
Nette guru
Místo: Brno
Registrovaný: 26. 8. 2008
Příspěvky: 247
Web

Re: Spuštění části aplikace cronem

Jasně možností je více. U toho příkladu co uvádím je pouze důležité si pohlídat, že CRONové věci nelze spustit přes URL jako útok. Nejlepší podle mě je system závory – cron skript otevře závoru a URL skript ji pak zavře.

Offline

 

Zápatí