Запустить внешний файл из крона
#1
Отправлено 27 Август 2015 - 13:37
#3
Отправлено 27 Август 2015 - 14:02
#4
Отправлено 07 Август 2023 - 22:54
Ни прямые пути, ни относительные, ни указание пути через $_SERVER['DOCUMENT_ROOT'] результата не дает.
В чем может быть проблема?
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#5
Отправлено 10 Август 2023 - 12:53
Кроме того тут еще надо учитывать что код дополнительного действия запускается в контексте текущей записи конкретной таблицы (как и код вычислений), тогда как в кроне есть только контекст общей среды выполнения КБ (а во внешних файлах вообще нет никакого контекста по умолчанию). В этом тоже может быть проблема.
#6
Отправлено 11 Август 2023 - 15:09
Доп. действие написано без привязки к конкретной записи. Используются функции для прямой работы с записями. Если код прописать прямо в редактор cron - всё работает. Была мысль в крон указывать просто отдельные допдействия, каждое из которых выполняет определенный процесс. Так проще работать с кодом. Сейчас приходится все прописать в код крон и, как результат, он занимает десяток экранов. Крайне не удобно.
Если бы у вас были проверки существования функции, то include скорее всего сработал бы.
Может подскажете варианты?
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#7
Отправлено 11 Август 2023 - 15:25
Как вариант можно скопировать код доп.действия в вычисление и поставить событие "по расписанию", тогда задание крон создастся автоматически, но этот вариант подойдет если вам нужно только одно вычисление запускать. Если нужно именно включить вызов кода вычисления в произвольный код крона, то можно использовать следующий код:
$calc = sql_select_array(CALC_TABLE, 'id = 111'); // 111 - id вычисления $calc['link_fields'] = unserialize($calc['link_fields']); $table_id = $calc['table_id']; $table = get_table($table_id); $table_fields = get_table_fields($table); $event = [ 'type' => 'cron', 'table_id' => $table_id, 'changed' => [], ]; $line = data_select_array($table_id, 'id = 222'); // 222 - id записи по которой надо запустить вычисление calc_line($table, $line, $calc, $event);
#8
Отправлено 11 Август 2023 - 15:29
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#9
Отправлено 11 Август 2023 - 15:50
$calc = sql_select_array(CALC_TABLE, '`name` = "Button 1200"');Сработает?
Далее определить id и запустить через run_calc()
Сообщение отредактировал andibrag: 11 Август 2023 - 15:54
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#10
Отправлено 11 Август 2023 - 16:01
Цитата
Да, для доп.действий по идее тоже должно сработать.
Цитата
Только не через run_calc скорее всего, а через calc_line, я там редактировал свое сообщение выше. Поторопился я с run_calc в том плане что run_calc запускает вычисление по всей таблице, а вариант выше с calc_line позволяет запустить вычисление по конкретным нужным вам записям. Но если вас устроит запуск по всей таблице сразу, то можно и run_calc запустить, он сделает тоже самое.
#11
Отправлено 11 Август 2023 - 16:08
Доп.действие выполняет синхронизацию.
Собирает данные, например, со всех маркетплейсах о заказах и вносит их в базу, далее, отправляет данные о товарах в Мой склад и синхронизирует данные о товарах. Потом раздает остатки на все маркетплейсы. Т.е. ваша клиентская база оказалась уникальным инструментом для синхронизации и учета.
Если вариант запуска допдействия окажется рабочим - будет очень удобно. Поскольку каждая синхронизация с маркетом через API - это куча кода и когда он весь в одном месте - это головняк.
Вам бы сделать свои модули для таких синхронизаций в движке - цены бы не было для обычных пользователей.
В любом случае спасибо за программу!
Сообщение отредактировал andibrag: 11 Август 2023 - 16:10
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных