⬆️ Ajoute Monolog
This commit is contained in:
33
cron.php
33
cron.php
@@ -1,12 +1,22 @@
|
||||
<?php
|
||||
include __DIR__ . '/vendor/autoload.php';
|
||||
|
||||
use Monolog\Logger;
|
||||
use Monolog\Handler\StreamHandler;
|
||||
|
||||
define('APP_DIR', __DIR__);
|
||||
define('DEALS_DIR', sprintf('%s/deals', APP_DIR));
|
||||
define('LOGS_DIR', sprintf('%s/logs', APP_DIR));
|
||||
define('NEW_DEALS_DIR', sprintf('%s/deals/new', APP_DIR));
|
||||
define('EXISTING_DEALS_DIR', sprintf('%s/deals/list', APP_DIR));
|
||||
define('BACKUP_DEALS_DIR', sprintf('%s/deals/backup', APP_DIR));
|
||||
define('LOG_MAIL_TO', '');
|
||||
define('LOG_MAIL_SUBJECT', '[LBCReposter] erreur cron');
|
||||
define('LOG_MAIL_FROM', '');
|
||||
|
||||
$log = new Logger('lbcreposter');
|
||||
$log->pushHandler(new StreamHandler(LOGS_DIR.'/cron.log', Logger::WARNING));
|
||||
$log->pushHandler(new \Monolog\Handler\NativeMailerHandler(LOG_MAIL_TO, LOG_MAIL_SUBJECT, LOG_MAIL_FROM));
|
||||
|
||||
$existing_deals = [];
|
||||
foreach (new DirectoryIterator(EXISTING_DEALS_DIR) as $existing_deal) {
|
||||
@@ -36,7 +46,7 @@ function delete_folder($folder) {
|
||||
return rmdir($folder);
|
||||
}
|
||||
|
||||
echo sprintf('%u annonces locales, normalement en ligne.%s', count($existing_deals), "\n");
|
||||
$log->info(sprintf('%u annonces locales, normalement en ligne.', count($existing_deals)));
|
||||
$script_params = parse_ini_file(sprintf('%s/lbcreposter.ini', DEALS_DIR), true);
|
||||
$config = new \Shikiryu\LBCReposter\Config($script_params);
|
||||
$account = new \Shikiryu\LBCReposter\Account($config);
|
||||
@@ -53,12 +63,12 @@ if ($actions->connect()) {
|
||||
foreach ($deals as $i => $deal) {
|
||||
// l'annonce existe déjà
|
||||
if (in_array($deal->getId(), array_keys($existing_deals))) {
|
||||
echo sprintf('L\'annonce %s existe déjà, ', $deal->getId());
|
||||
$log->info(sprintf('L\'annonce %s existe déjà, ', $deal->getId()));
|
||||
// si elle est vieille, on supprime et on recréé
|
||||
if ($existing_deals[$deal->getId()]->getDateCreation()->add(new DateInterval('P1W')) <= (new DateTime())) {
|
||||
// Suppression
|
||||
echo sprintf('elle est vieille (%s), on la supprime. %s', $existing_deals[$deal->getId()]->getDateCreation()->format('d/m/Y H:i'), "\n");
|
||||
$actions->delete($deal);
|
||||
$log->error(sprintf('elle est vieille (%s), on la supprime.', $existing_deals[$deal->getId()]->getDateCreation()->format('d/m/Y H:i')));
|
||||
// $actions->delete($deal);
|
||||
// Backup
|
||||
if (!file_exists(BACKUP_DEALS_DIR.'/'.$deal->getId())) {
|
||||
mkdir(BACKUP_DEALS_DIR . '/' . $deal->getId());
|
||||
@@ -68,11 +78,11 @@ if ($actions->connect()) {
|
||||
rename(EXISTING_DEALS_DIR.'/'.$deal->getId(), NEW_DEALS_DIR.'/'.$deal->getId());
|
||||
} else {
|
||||
// sinon on la laisse
|
||||
echo sprintf('et tout va bien. %s', "\n");
|
||||
$log->info('et tout va bien.');
|
||||
}
|
||||
unset($deals_to_backup[$deal->getId()]);
|
||||
} else {
|
||||
echo sprintf('L\'annonce %s n\'existait pas et est sauvegardée. %s', $deal->getSubject(), "\n");
|
||||
$log->error(sprintf('L\'annonce %s n\'existait pas et est sauvegardée.', $deal->getSubject()));
|
||||
// Une annonce non sauvegardée ? on la sauve
|
||||
$deal->save(EXISTING_DEALS_DIR);
|
||||
}
|
||||
@@ -91,17 +101,18 @@ if ($actions->connect()) {
|
||||
foreach (new DirectoryIterator(NEW_DEALS_DIR) as $new_deal) {
|
||||
if ($new_deal->isDir() && !$new_deal->isDot()) {
|
||||
$deal_to_create = \Shikiryu\LBCReposter\Deal::fromJSON($new_deal->getRealPath() . '/data.json');
|
||||
if ($actions->create($deal_to_create)) {
|
||||
/*if ($actions->create($deal_to_create)) {
|
||||
delete_folder($new_deal->getRealPath());
|
||||
echo sprintf('L\'annonce %s a bien été créée. %s', $deal_to_create->getSubject(), "\n");
|
||||
$log->info(sprintf('L\'annonce %s a bien été créée.', $deal_to_create->getSubject()));
|
||||
break;
|
||||
} else {
|
||||
echo sprintf('L\'annonce %s n\'a pas bien été créée. %s', $deal_to_create->getSubject(), "\n");
|
||||
}
|
||||
$log->error(sprintf('L\'annonce %s n\'a pas bien été créée. %s', $deal_to_create->getSubject()));
|
||||
}*/
|
||||
sleep(30);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo 'not connected';
|
||||
$log->error('not connected');
|
||||
}
|
||||
|
||||
$log->info('CRON terminé !');
|
||||
|
Reference in New Issue
Block a user