- Форум CRM программы Клиентская база
- → Публикации Givik
Публикации Givik
14 публикаций создано Givik (учитываются публикации только с 24-Май 23)
#25219 import_data + cron - как происходит перезапуск скрипта?
Отправлено от Givik в 19 Июль 2014 - 14:20 in Как это сделать
Какие еще есть варианты решения?
#25213 import_data + cron - как происходит перезапуск скрипта?
Отправлено от Givik в 19 Июль 2014 - 00:23 in Как это сделать
// Запускаем запросы, экспортирующие данные из Kayako в CSV-файлы echo ' Exporting Users from Kayako...'.PHP_EOL; if ($users_result = mysqli_query($kayako_conn, $users_query)) { echo ' Users exported OK'.PHP_EOL; } else { echo ' Users export error: '.mysqli_error($kayako_conn).PHP_EOL; } echo ' Exporting Tickets from Kayako...'.PHP_EOL; if ($tickets_result = mysqli_query($kayako_conn, $tickets_query)) { echo ' Tickets exported OK'.PHP_EOL; } else { echo ' Tickets export error: '.mysqli_error($kayako_conn).PHP_EOL; } // Запускаем импорт из файлов в КБ if ($users_result) { echo ' Importing Users to CB...'.PHP_EOL; import_data("Пользователи", "kayako", $users_file_name); echo ' Users imported OK'.PHP_EOL; } if ($tickets_result) { echo ' Importing Tickets to CB...'.PHP_EOL; import_data('Заказы файлов', 'kayako tickets', $tickets_file_name); // ВОТ ТУТ ИМПОРТИРУЕТСЯ БОЛЬШОЙ ФАЙЛ!!! echo ' Tickets imported OK'.PHP_EOL; }
После запуска в логах вижу следующее:
Exporting Users from Kayako...
Users exported OK
Exporting Tickets from Kayako...
Tickets exported OK
Importing Users to CB...
Done. 1 records inserted, 195 records updated. Users imported OK
Importing Tickets to CB...
23% Tickets imported OK
ну и далее все последующие "echo" по скрипту
Но вот что самое интересное:
1. В логах отсутствует запись типа "X records inserted, Y records updated"
2. В базе КБ вижу, что обновились НЕ ВСЕ записи, которые были в импортируемом файле
3. Запускаю импорт из этого же файла вручную (выбираю вручную тот же шаблон), проверяю в КБ - теперь ВСЕ записи обновлены. И импорт выполнялся ощутимо дольше, чем через скрипт крона.
Делаю вывод - import_data в скрипте прервалась на 23%, но при автоматическом перезапуске скрипта не возобновилась. Как такое возможно?
#25195 import_data + cron - как происходит перезапуск скрипта?
Отправлено от Givik в 18 Июль 2014 - 12:28 in Как это сделать
В нем есть несколько строчек примерно такого вида:
$some_query = "SELECT что-то INTO OUTFILE ... FROM ..."; // результат запроса к другой базе сохраняется в файл $export_file_name if ($export_result = mysqli_query($another_db_conn, $some_query)) { echo ' Exported okay, starting import to CB'.PHP_EOL; import_data('Таблица в КБ', 'Шаблон импорта', $export_file_name); // объем большой! echo ' Imported to CB okay'.PHP_EOL; }
Если результирующий файл небольшого объема - import_data успевает отработать за один раз. В логах вижу записи:
2014-07-18 03:01:09 -
Exported okay, starting import to CB
Done. 0 records inserted, 194 records updated. Imported to CB okay
Но если файл получается большой, то проиходят странности. Во-первых, ни одно "echo" не попадает в лог, во-вторых, в логе я вижу странную запись типа (скрипт по крону стартует каждый час в 00 минут):
2014-07-18 04:36:00 - TERMINATED TASK FROM 2014-07-18 04:02:20 - и все!!!
По логике работы скрипта, я вижу, что все, что после import_data - не выполнилось (не выполнились другие запросы, не создались файлы).
Судя по документации, если скрипт не укладывается в отведенное время, он перезапускается. Но как это происходит? И почему падает выполнение import_data?
#24535 Очень медленно выполняется экспорт таблицы
Отправлено от Givik в 18 Июнь 2014 - 11:31 in Как это сделать
#24532 Очень медленно выполняется экспорт таблицы
Отправлено от Givik в 18 Июнь 2014 - 11:26 in Как это сделать
Полей связи в этой таблице тоже нет. Есть другие таблицы, которые ссылаются на эту.
#24493 Очень медленно выполняется экспорт таблицы
Отправлено от Givik в 18 Июнь 2014 - 07:04 in Как это сделать
Что проверить?
#24446 Ошибка выполнения import_data в cron
Отправлено от Givik в 16 Июнь 2014 - 21:15 in Как это сделать
...и все работает!
Ставим галочку обратно - и скрипт крона вылетает с той же ошибкой.
Вот код этого стандартного вычисления.
global $table; if ($user['group_id']!=1) { if ($user['sub_admin']==1) { if ($line['Группа доступа']==1) { if ($table['user_table_fields']['group_id']) { data_update($event['table_id'], array("f".$table['user_table_fields']['group_id']=>0), "id=".$event['line_id']); } } } }
#24415 Ошибка выполнения import_data в cron
Отправлено от Givik в 16 Июнь 2014 - 13:21 in Как это сделать
#24358 Ошибка выполнения import_data в cron
Отправлено от Givik в 13 Июнь 2014 - 22:34 in Как это сделать
#24290 Ошибка выполнения import_data в cron
Отправлено от Givik в 10 Июнь 2014 - 18:04 in Как это сделать
#24209 Ошибка выполнения import_data в cron
Отправлено от Givik в 06 Июнь 2014 - 20:31 in Как это сделать
#24139 Ошибка выполнения import_data в cron
Отправлено от Givik в 04 Июнь 2014 - 17:54 in Как это сделать
Имя шаблона тоже верное, при попытке что-то заменить появляется сообщение типа "Template not found" или вроде того.
Таблица с таким именем тоже 100% существует, при попытке сознательно накосячить в имени таблицы - "Table not found".
Кодировка CSV-файла - UTF-8.
#24138 Ошибка выполнения import_data в cron
Отправлено от Givik в 04 Июнь 2014 - 17:48 in Как это сделать
Шаблон настроен, вручную из этого же файла по этому же шаблону импорт проходит прекрасно.
Пишем в скрипте крона одну строчку (указывается путь к файлу на сервере):
import_data("Пользователи", "my template", "w:/webs/export/users.csv");
Падает с неизвестной ошибкой (см. скриншот).
По рекомендации техподдержки прописываем адрес сервера вместо прямого пути (шарю папку):
import_data("Пользователи", "my template", "//localhost/export/users.csv");
Та же ошибка.
Выкладываю файл на веб, изменяю строку на:
import_data("Пользователи", "my template", "http://адрессайта.ru/users.csv");
Та же самая ошибка.
Что делать?
#23654 Отображение количества записей в связанных таблицах
Отправлено от Givik в 14 Май 2014 - 23:29 in Предложения по доработке
- Форум CRM программы Клиентская база
- → Публикации Givik