вручную вызвать действие задания cron программно в магазине

Я новичок в магазине.

Я хочу вызвать функцию задания cron программно, есть ли способ?

Я попытался выполнить функцию вызова с помощью командной строки, но получил слишком много ошибок аргументов.

php bin/console sw:cron:run ACTION-NAME
php bin/console sw:cron:run NAME -f

Мне нужна еще одна помощь - использовать функцию магазина вне моего пользовательского файла. Является ли это возможным ?

Заранее спасибо.


person Sunny Rathod    schedule 10.06.2016    source источник


Ответы (2)


Вы можете запустить конкретное задание cron, выполнив следующую команду. Например:

php bin/console sw:cron:run Shopware_CronJob_ClearHttpCache

Но это возможно только начиная с Shopware 5.1. 6, а не так, как Shopware говорит с 5.1.5.

person 4typen    schedule 29.06.2016

Если вам нужно просто запустить задание cron для тестирования, вы можете запустить cron из браузера:

http://www.myshop.com/backend/cron

Там нужно заменить myshop.com на свой домен. В этом случае все задания cron будут обрабатываться по этой ссылке.

Если по какой-то причине вам нужно запустить cron через консоль, вы можете сделать это следующим образом:

php5 path_to_shopware/shopware.php /backend/cron

Здесь нужно заменить path_to_shopware на путь к вашему серверу.

person Alexey Palamar    schedule 25.07.2016
comment
Спасибо за ответ, но для меня это бесполезно. Думаю, вы не внимательно прочитали мой вопрос. - person Sunny Rathod; 25.07.2016
comment
@Sunny Rathod Хм, извини, может, я не понимаю. Можете описать, почему это вам не полезно? - person Alexey Palamar; 26.07.2016
comment
В магазине есть несколько cronjobs. Я хочу запустить одно из них, но не все. так что это возможно только в 5.2.x, а я использую 5.0 - person Sunny Rathod; 27.07.2016
comment
@Sunny Rathod, можешь описать, что ты хочешь сделать? Может быть, я могу предложить другой способ выполнения того, что вам нужно? - person Alexey Palamar; 28.07.2016
comment
на самом деле у меня есть свое пользовательское задание cron, и я хотел бы запускать только свое задание cron, не все, но не по расписанию, есть ли способ запустить его с использованием любого URL-адреса или любого файла и т. д. - person Sunny Rathod; 29.07.2016
comment
@Sunny Rathod Я считаю правильным - создайте компонент в плагине, и вы можете запустить метод этого плагина как задание cron и вручную там, где вам это нужно. $ component = ShopwarePlugins \ PluginName \ Components \ CustomComponent (); $ component- ›doSync (); Вы можете использовать такой код в SubscriberInterface или в Enlight_Controller_Action .. - person Alexey Palamar; 29.07.2016