2013-06-12 2 views
0

Я хочу создать кнопку в своем приложении для вызова задачи.Как вызвать задачу в помощнике?

Как это сделать с помощью link_to() в моем шаблоне, например?

В routing.yml можно создать маршрут для вызова задачи?

ответ

2

Задача не может быть запущена из веб-среды. Цель задачи - запустить в командной строке. Вы не можете достичь того, что хотите сделать , как вы хотите сделать.

Вы должны взглянуть на очереди сообщений мягкая для этого:

  • на действия (ссылка, например), добавить элемент в очередь
  • каждый раз, когда элемент добавляется в очередь , он запускает действие (может быть, например, задача)

В вашем случае ваш предмет будет сообщать диспетчеру очереди о запуске конкретной задачи.

Есть много Дифференц очереди сообщений мягкой вокруг ZeroMQ, Redis, Bernard, AMPQ и т.д ..

Но вы также можете построен свой собственный, используя базу данных MySQL (например):

  • создать базу данных с именем todo (с идентификатором, флаг, имя задачи, поле параметров)
  • на действия (ссылка, например), добавить элемент в этой таблице (со всеми информа ионы)
  • создают todoTask, который будет:
    • выборки элементов из этой таблицы
    • пометить их как обработанные
    • и запустить задачу, описанную внутри строки (с параметрами, и т.д ..) для каждого элемента
+0

Наконец, я думаю, что самый простой способ переписать задачу в 'action.class.php' и назвать это то, потому что ваше решение сложно просто делать то, что я хочу – DOZ

+0

Instea d дублировать код, вы можете создать lib, который будет использоваться задачей ** и ** действием. – j0k

Смежные вопросы