t4web / cron
ZF2 Module. A PHP cron task manager for ZF2 Application
Installs: 5 959
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 4
Forks: 1
Open Issues: 1
Requires
- php: ^5.5 || ^7.0
- cron/cron: ~1.0
- t4web/event-subscriber: ~1.0.0
- zendframework/zend-console: ^2.5
- zendframework/zend-eventmanager: ^2.5
- zendframework/zend-http: ^2.5
- zendframework/zend-modulemanager: ^2.5
- zendframework/zend-mvc: ^2.5
- zendframework/zend-servicemanager: ^2.5
- zendframework/zend-view: ^2.5
Requires (Dev)
- phpunit/phpunit: ^4.8
- squizlabs/php_codesniffer: ^2.3
This package is auto-updated.
Last update: 2024-10-26 17:40:32 UTC
README
Cron
ZF2 Module. A PHP cron task manager for ZF2 Application. Inspired by Cron/Cron
Installation
Installation of Cron Module uses composer.
php composer.phar require t4web/cron
or add to your composer.json
"require": { "t4web/cron": "^1.0.0" }
Then add T4web\Cron
to your config/application.config.php
Configuration
Add to your configuration:
'cron' => [ 'log-directory' => 'data', // default: getcwd()/data 'phpPath' => 'php', // default: php 'scriptPath' => '/path/to/application/public/folder/', // default: getcwd()/public/ 'jobs' => [ [ 'id' => 'cron-job1', 'command' => 'index.php application cron-job1', 'schedule' => '* * * * *' ], [ 'id' => 'cron-job2', 'command' => 'index.php application cron-job2', 'schedule' => '* * * * *' ] ], 'timeout' => 3600 // default: null (without timeout) ]
General options:
Options for cron jobs:
Run cron job from command line
We recommend add this command to cron with run every minute (* * * * *)
php index.php cron run
Logs
Logs works with T4web\EventSubscriber module (this module provide one place for manage all application events). Install and enable T4web\EventSubscriber
in your application config. If module T4web\EventSubscriber
does not exists - logs will not be written.
After run in log-directory
will be created log file by pattern JOB-ID.log
(example: data/cron-job1.log) with content like this:
[2016-02-25 15:43:48] Job fail
Start: 2016-02-25 15:43:47
End: 2016-02-25 15:43:48
Execution time: 1 seconds
--Output:
1
2
3
--End output.
--Error:
PHP Fatal error: Call to undefined function Application\Controller\asd() in /storage/proj/1season/module/Application/src/Application/Controller/CronController.php on line 21
PHP Stack trace:
PHP 1. {main}() /storage/proj/1season/public/index.php:0
PHP 2. Zend\Mvc\Application->run() /storage/proj/1season/public/index.php:21
PHP 3. Zend\EventManager\EventManager->trigger() /storage/proj/1season/vendor/zendframework/zend-mvc/src/Application.php:314
PHP 4. Zend\EventManager\EventManager->triggerListeners() /storage/proj/1season/vendor/zendframework/zend-eventmanager/src/EventManager.php:214
PHP 5. call_user_func:{/storage/proj/1season/vendor/zendframework/zend-eventmanager/src/EventManager.php:490}() /storage/proj/1season/vendor/zendframework/zend-eventmanager/src/EventManager.php:490
PHP 6. Zend\Mvc\DispatchListener->onDispatch() /storage/proj/1season/vendor/zendframework/zend-eventmanager/src/EventManager.php:490
PHP 7. Zend\Mvc\Controller\AbstractController->dispatch() /storage/proj/1season/vendor/zendframework/zend-mvc/src/DispatchListener.php:93
PHP 8. Zend\EventManager\EventManager->trigger() /storage/proj/1season/vendor/zendframework/zend-mvc/src/Controller/AbstractController.php:118
PHP 9. Zend\EventManager\EventManager->triggerListeners() /storage/proj/1season/vendor/zendframework/zend-eventmanager/src/EventManager.php:214
PHP 10. call_user_func:{/storage/proj/1season/vendor/zendframework/zend-eventmanager/src/EventManager.php:490}() /storage/proj/1season/vendor/zendframework/zend-eventmanager/src/EventManager.php:490
PHP 11. Zend\Mvc\Controller\AbstractActionController->onDispatch() /storage/proj/1season/vendor/zendframework/zend-eventmanager/src/EventManager.php:490
PHP 12. Application\Controller\CronController->job1Action() /storage/proj/1season/vendor/zendframework/zend-mvc/src/Controller/AbstractActionController.php:82
--End error.