Creo un comando console nel mio progetto. Voglio che venga eseguito ogni giorno alle 19:00 Come potrei farlo in symfony2? Un modo base di lavoro di php cron o symfony2 ha qualcosa di più conveniente? GrazieCron Job in symfony2
risposta
È possibile utilizzare la base cron. Su debian o ubuntu si può fare questo:
crontab -e -u <username>
Dove nome utente è il nome dell'utente che deve eseguire il comando. Nell'editor aggiungi il tuo comando. Ecco a good explanation come dovrebbe apparire la linea. Per un comando di Symfony2 qualcosa come questo dovrebbe funzionare:
* * * * * /usr/bin/php /var/www/symfony2/app/console your:command --option=123
Questo eseguirà your:command --option=123
ogni minuto.
Su un finestre macchina è possibile utilizzare il comando ac
. È disponibile per windows 7 per impostazione predefinita. Read the docs here. Esso dovrebbe essere simile a questo:
AT 00:00 /every:M,T,W,Th,F "php /var/www/symfony2/app/console your:command --option=123"
Assicurarsi che php
è available globaly o il percorso del file php.exe
è corretto.
Si può solo impostare un cron in crontab per eseguire il comando di symfony,
esempio
0 19 * * */var/www/symfony/app/console YOUR_COMMAND
Nop, è necessario eseguire il comando come utente di dati www, altrimenti potrebbe interrompere la cache. –
Penso che questa sia una buona domanda.
Recentemente ho fatto un po 'di lavoro (usando i componenti ZF1, non MVC completo) dove esistevano tutti i tipi di dipendenze nascoste nei lavori cron per svolgere attività, e dovevo passare molto tempo ad aggiungere commenti e creare documentazione per avvisare chiunque venisse dopo di me quello che questi crons esistevano, quello che facevano, dove erano immagazzinati e così via.
Non è mai venuto in mente che ci sarebbe stata una componente ZF solo a tal fine, un sacco di dipendenze da controllori anche se ...
Mi dispiace non sto rispondendo alla tua domanda diretta però.
FWIW
Il tuo link non è aggiornato. – ferdynator
Questa è una risposta? – Trix
Prestare attenzione per l'utente che si utilizza per eseguire il comando. Se lo esegui come root, root potrebbe possedere la cache di Symfony e quindi violare il lato HTTP del tuo sito (perché nginx verrà eseguito come utente www-data, ad esempio).
Con Docker, sto usando il metodo "setuser" dell'immagine di base di fusione per forzare l'utente di www-data.
- 1. Cron Job $ _SERVER issue
- 2. Cron Job Log - Come accedere?
- 3. Linux: Esegui cron job in primo piano
- 4. Come aggiungere un cron job in linux
- 5. Esegui cron job ogni 45 minuti con Node-Cron
- 6. come impostare cron job per reindex
- 7. job cron non emette a nohup.out
- 8. Reindirizzare l'output di un job cron
- 9. magento cron job e cron_scheduler table
- 10. php cron job ogni 10 minuti
- 11. Come reindirizzare l'output cron job allo stdout
- 12. cron job minuto prima di domani
- 13. Come impostare il cron job su CentOS
- 14. Cron job non può caricare gemma
- 15. Aggiunta dell'ora al cron job mysqldump?
- 16. Come eliminare un cron job con Ansible?
- 17. Come impostare un cron job con codeigniter
- 18. Come eseguire un job Cron per Node.js
- 19. cron job che non verrà mai eseguito
- 20. Creazione di un cron job per mysqldump
- 21. Come creare un'attività cron in Symfony2
- 22. Come testare un cron job in Local Server come WAMP?
- 23. Come eseguire un cron job in Heroku, con un'app Sinatra
- 24. Rails: test dei job Cron nell'ambiente di sviluppo
- 25. Come scrivere cron job nel server AWS EC2
- 26. Specificare inizio e di fine arbitrarie per job cron
- 27. Come eseguire cron job con zend framework 2
- 28. PHP: il percorso obbligatorio non funziona per il cron job?
- 29. logrotate cron job che non ruota determinati registri
- 30. Creazione di eventi di Facebook tramite cron-job
Jep, questa è la strada da percorrere. –
Il mio sistema operativo è window7. Non riesco a eseguire direttamente il comando crontab. Quindi cosa dovrei fare? Grazie per la tua risposta. @ byf-ferdy –
Ho aggiornato la mia risposta. – ferdynator