Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF][SF2][Symfony2] Zadania CRON, Jakie podejście w CommandClass ?
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Poczytałem trochę o zadaniach konsolowych w Symfony:
http://symfony.com/doc/current/console.html

Potrzebuję w stałym czasie (Poniedziałek 00:00) wykonać kilka zadań (oczywiście ustawię je na CRONie).
Będą to trzy zadania i każde będzie insertem/wieloma insertami danych do bazy danych.

Chciałem się poradzić jakie są dobre praktyki tworzenia takich zadań ? Mogę w metodzie execute() wrzucić logikę związaną z tworzeniem instancji klasy i wykonaniem na niej setów czy powinienem to wrzucić w innym miejscu np. Utils albo w serwisie a tutaj tylko wywoływać metodę innej klasy ?
I drugie pytanie: Czy na każde zadanie powinienem zrobić osobą klasę Command czy wrzucić wszystkie 3 (różne) zadania do jednej metody execute() jednej klasy Command ?

  1. Class MyCommend extend ContainerAwareCommand{
  2. configure(){}
  3.  
  4. execute(){
  5. ...
  6. foreach ($data as $key){
  7. $meet = new Meet();
  8. $meet->setUser($this->getUser());
  9. $meet->set....;
  10. $meet->set....;
  11. $em = $this->getDoctrine()->getManager();
  12. $em->persist($meet);
  13. }
  14. $em->flush();
  15. }
  16. }


Ten post edytował damianooo 7.02.2017, 21:55:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
prz3kus
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 30
Dołączył: 22.01.2007

Ostrzeżenie: (0%)
-----


  1. class TimeReportCommand extends ContainerAwareCommand
  2. {
  3. protected function configure()
  4. {
  5. $this
  6. ->setName('time-report')
  7. ->setDescription('Time report')
  8. ;
  9. }
  10.  
  11. protected function execute(InputInterface $input, OutputInterface $output)
  12. {


Powyżej przykładowa klasa wysołujsz ją po nazwie, poleceniem konsolowym czyli:

Cytat
php bin/console time-report


czyli w cronie podajesz np.
Cytat
php -q /home/opl/public_html/PROJEKT/bin/console time-report


Mam nadzieje, że już jasne (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 03:25