Страница 1 из 1

Разработка задач (Job) для Concrete5 5.6

СообщениеДобавлено: 25 авг 2016, 13:30
iDom
Добрый день!

Возникла потребность в разработке собственных автоматизируемых задач для сайта связанных с импортом/экспортом в XML.

Я постарался внимательно изучить исходники тех задач что идут в изначальном комплекте.
Взял за основу исходник задачи которая генерирует sitemap и попытался сделать свой таск, который бы обновлял аттрибуты страниц из XML-файла.
Впринципе оно работает но периодически выбивает 502 при запуске. Начал копать выявил две возможные проблемы:
  • вероятно это связано с тем что я не разделяю задачу на несколько потоков или плохо работаю с памятью.
  • обновление страниц по 1000 штук за раз плохая затея и надо использовать не просто Job, а QueueableJob по аналогии с задачей "Index Search Engine - All".
Я пытался найти в документации для разработчиков какие-либо напутствия и рекомендации по разработке задач, но увы. Аналогичная ситуация на форуме concrete5 - все колхозят на коленке как умеют.
Может быть вы можете подсказать как правильно работать с QueueableJob или сбросить какой-то базовый пример?

Re: Разработка задач (Job) для Concrete5 5.6

СообщениеДобавлено: 01 сен 2016, 23:04
guyasyou
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку

бегло поглядел, вроде как понятная документация

Re: Разработка задач (Job) для Concrete5 5.6

СообщениеДобавлено: 02 сен 2016, 16:05
iDom
guyasyou писал(а):http://documentation.concrete5.org/developers/jobs/creating-and-scheduling-a-queueable-job
бегло поглядел, вроде как понятная документация

Разница 5.7 или 5.6 в данном вопрос роли не играет?

Спасибо, за пример, кажется разобрался.
Приношу извинения, просто я искал по документации Legacy т.к. версия старая и до новой апнуться было проблематично с учётом уже наколхоженого.

Re: Разработка задач (Job) для Concrete5 5.6

СообщениеДобавлено: 02 сен 2016, 18:51
guyasyou
Ну, в этом и суть ООП, обновления по минимум затрагивают окружение))

Re: Разработка задач (Job) для Concrete5 5.6

СообщениеДобавлено: 06 сен 2016, 22:06
Count_Raven
guyasyou писал(а):Ну, в этом и суть ООП, обновления по минимум затрагивают окружение))

Если ты не заметил, то просто он просил на 5.6, а ты ему дал на 5.7. Вот, собственно, о чём речь.
И да, суть ООП не в этом. Извини.
Суть архитектуры Concrete5 и многих других систем может быть в том, чтобы можно было при помощи ООП изменять функционал не внося изменений в ядро системы. Но вот это таки не суть ООП, если брать многие другие вещи, где ООП использовалось. Можно сказать, что суть ООП - это расширяемость (так не масштабируемость), ну, что мы называем наследованием и это наверное основное при всех прочих признаках.
А вот говна на ООП немерено написано и там это как-то не очень помогает обновлениям =)

Re: Разработка задач (Job) для Concrete5 5.6

СообщениеДобавлено: 06 сен 2016, 22:10
guyasyou
Согласен.
guyasyou писал(а):обновления по минимум затрагивают окружение

как раз о том же, обновление это не только поднять версию, но и вообще внесение изменений

Re: Разработка задач (Job) для Concrete5 5.6

СообщениеДобавлено: 06 сен 2016, 22:12
Count_Raven
guyasyou писал(а):Согласен.
guyasyou писал(а):обновления по минимум затрагивают окружение

как раз о том же, обновление это не только поднять версию, но и вообще внесение изменений

Я не понял. Что?

Re: Разработка задач (Job) для Concrete5 5.6

СообщениеДобавлено: 07 сен 2016, 12:43
guyasyou
Я согласен с тобой, забей))