Cronner – nástroj pro jednoduchou správu cronových úloh

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
David Matějka
Moderator | 6445
+
+1
-

@duskohu v 2.1 vytvarel neon adapter stdClass a prave filterArguments to prevedlo na DI\Statement. Nyni neon adapter vytvari rovnou di\statement

stekycz
Člen | 152
+
0
-

@duskohu Díky za pull! Tenhle týden mám v plánu si připravit „demo“ pro (všechny) podporované verze Nette. V rámci toho to mergnu a zapracuju na stabilitě.

duskohu
Člen | 778
+
0
-

stekycz napsal(a):

@duskohu Díky za pull! Tenhle týden mám v plánu si připravit „demo“ pro (všechny) podporované verze Nette. V rámci toho to mergnu a zapracuju na stabilitě.

Cau, este k tomu pull zabudol som poslat:
Nette\Utils\DateTime >> \Nette\DateTime
Tracy\Debugger >> \Nette\Diagnostics\Debugger

Editoval duskohu (19. 9. 2014 8:31)

stekycz
Člen | 152
+
+3
-

Tak jsem mimo jiné udělal pár dalších úprav a vydal jsem verzi 1.0.2. Konkrétnější verze opět s přídomkem „-n20“ nebo „-n21“.

Kdyby někdo sháněl příklad toho, jak je možné Cronner využít, připravil jsem i malé demo. Demo je připravené pro všechny aktuálně stabilní řady Nette, tedy 2.0, 2.1 a 2.2. V masteru pak k nalezení dev verze.

@duskohu Díky! Opravil jsem to do téhle verze.

Pokud najdete nějaký problém či bug, klidně založte issue. Případně pošlete pull request, díky němuž by se oprava mohla dostat do nějaké verze rychleji :-)

Nakonec si udělám malou reklamu. Pokud vás Cronner zaujal, budu o něm trochu povídat na následující Poslední Sobotě už za 2 dny. Takže doražte!

duskohu
Člen | 778
+
0
-

@stekycz paradicka, Tak snad bude aj video pre tych co nemozu prist :-)

kolsi
Člen | 131
+
0
-

Mám malý dotaz – vždy, když se spustí cron, tak se vytvoří nová session. To má za následek, že se adresář „session“ plní „sess_xxx“ souborama, kterých je po několika měsících několik desítek tisíc. Lze nějak jednoduše zařídit, aby se buď pro cron session nevytvářela, nebo se po skončení úloh automaticky smazala?

F.Vesely
Člen | 369
+
0
-

Zkousel jsem se rozjet Cronner pres tagy v configu, ale tento zapis mi nefungoval:

services:
	- {class: App\Cronners\EmailsSender, tags: [cronner.tasks]}

Trochu jsem se v tom hrabal. Podival jsem se, jak to ma implementovano Kdyby\Events, protoze tam mi to funguje a zjistil jsem, ze Kdyby\Events nastavuje podle tagu az ve funkci beforeCompile(). Dovolil jsem si tedy presunout tento kod az do beforeCompile() a uz to funguje:

public function beforeCompile() {
	parent::beforeCompile();

	$container = $this->getContainerBuilder();
	$runner = $container->getDefinition($this->prefix('runner'));

	foreach (array_keys($container->findByTag(self::TASKS_TAG)) as $serviceName) {
		$runner->addSetup('addTasks', array('@' . $serviceName));
	}
}
tomhrb
Člen | 23
+
0
-

pro zajemce – nemusite hledat link video Martin Stekl – Cronner

sepo
Člen | 69
+
0
-

Ahoj
Je možné zavolať úlohu aj individuálne,manuálne mimo definovaný čas?

F.Vesely
Člen | 369
+
0
-

Kazda trida s tagem cronner.tasks je normalni service, takze si ji muzes predat kam potrebujes a zavolat danou metodu.