powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP, странные глюки при запуске из планировщика
1 сообщений из 1, страница 1 из 1
PHP, странные глюки при запуске из планировщика
    #38938678
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть у меня PHP и Perl скрипты, выполняющие определенные процедуры.
Если скрипты запускать вручную, они всегда отрабатывают нормально.
Для запуска их по расписанию добавляю такую строчку в cron:
Код: plaintext
5 * * * * user1 cd /jobs/job1 && ./job1.sh  >> output.log 2>&1
И соответственно скрипт-обертка /jobs/job1/job1.sh для запуска:
Код: plaintext
1.
2.
3.
4.
5.
#!/bin/sh

echo "Call job1, `date`..."
cd /tools/php
/usr/bin/php -q job1.php
В файле job1.php в процессе выполнения различных операций на экран выводится различная информация.
Например такая:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
#!/usr/bin/php -q
<?php

if (php_sapi_name() != 'cli') die("Jobs allowed from shell (cli) only\n");

include("../lib/header.php");

$bm = Billing::getInstance();
$agents = $bm->select('PAYMENT_AGENT', 'ID', null, array('ID'=>'PAYMENT_AGENT_ID', 'CLASS', 'CODE', 'NAME', 'TRADENAME', 'TZ'));
$checks = $bm->select('PAYMENT_AGENT_TRANSPORT', null, array('TRANSPORT'=>'email'));

$email = TransportFactory::create('email');
$email->onRecv('processing');
$email->recv();
unset($email);

function processing($request)
{
    echo "Get request, from <" . $request->from . ">\n";
    ...
}



Странность заключается в следующем.
Если файл job1.php запускать вручную (хоть из под root, хоть из под user1), он всегда отрабатывает нормально. После выполнения скрипт отправляет определенную информацию на email, поэтому я знаю, когда он запускался.
Если же он запускается из планировщика, то результаты выполнения добавляются в файл output.log. И некоторое время все работает нормально.
Но потом в какой-то момент скрипт перестает работать, поскольку перестают приходить отчеты на email.
Если просмотреть файл output.log, то в нем последней строкой будет что-то такое:
Код: plaintext
1.
2.
Call job1, Thu Apr 16 21:12:52 MSK 2015
Get request, fro

Что это может быть?
Почему вывод в файл может обрываться на середине слова?
И кстати, когда такое произошло, скрипт из планировщика более не отрабатывает, пока я не удалю файл.
Если файл удалить, то следующий запуск скрипта из планировщика пройдет успешно и несколько запусков будет работать нормально.
А потом снова повториться проблема с похожими симптомами, скрипты перестают отрабатывать, в output.log вывод обрывается на середине строки.

________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP, странные глюки при запуске из планировщика
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]