Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Показ Мировых индексов (http://forum.typo3.ru/showthread.php?t=9518)

Евгений Николаев 10.06.2011 00:46

Показ Мировых индексов
 
Пишу скрипт показа мировых индексов (NASDAQ, FTSE и т.п.)

информация берется с сайта yahoo finance
Например для FTSE линк - http://in.finance.yahoo.com/q?s=^FTSE

всего необходимо отобразить около 8 рынков. Если к каждому загружаться, то страница загружается очень долго.

Есть ли возможность средствами typo3 запускать определенный скрипт, допустим, раз в 10 минут, который будет обновлять базу данных сайта и плагин будет брать информацию оттуда?

Я не силен в программировании, не знаю может есть вообще другое решение?

Надеюсь на вашу помощь :)

reva2 10.06.2011 04:04

Расширение Schedule вам в помощь. Вещаете его на крон. В вашем расширении реализуете новый тип заданий для schedule. Добавляете задание из вашего расширения и указываете что его нужно выполнять раз 10 минут.

Евгений Николаев 10.06.2011 13:42

Огромное спасибо!
Будем пробовать :)

Евгений Николаев 10.06.2011 13:54

Ещё один вопрос:

Если ползать по сайту, то он берет информацию из кеша, а не актуальную информацию (надо нажимать F5). А в моем случае это очень важный момент, чтобы информация менялась динамично.

Каким образом сделать так, чтобы плагин не кешировался... Надеюсь я правильно выразился :)

ParserYa 15.06.2011 15:51

Зачем полностью упираться в typo3 и пытаться сделать с помощью него то, для чего он вообще не предназначен? Делал подобное с парсингом апдейтов Яндекса..
1). Через кикстартер делаете расширение, которое будет отвечать за вывод данных во фронтенд интерфейс. Кикстартер сгенерирует таблицы в БД.. Кстати в вашем случае, данные лучше выводить данные яваскриптом (аякс).
2). Пишите простой ПХП парсер всего что вам нужно... что бы не плодить не нужные классы инклудите все что вам может понадобиться. Я брал настройки БД из стандартной typo3 typo3conf/localconf.php. Для работы с БД использовал t3lib/class.t3lib_db.php Полученные скриптом данные пишите в таблицу, которую сгенерировал кикстартер.
3). Вешаете парсер на крон.. крон - это планировщик заданий. Подробности узнавайте у своего хостера и в гугле.. typo3 никак не связан с планировщиком заданий. Зачем ставить еще и какое-то расширения, как вам советует reva2, я, честно говоря, не понимаю.

reva2 15.06.2011 22:24

Цитата:

Сообщение от ParserYa (Сообщение 31377)
Зачем полностью упираться в typo3 и пытаться сделать с помощью него то, для чего он вообще не предназначен? Делал подобное с парсингом апдейтов Яндекса..
1). Через кикстартер делаете расширение, которое будет отвечать за вывод данных во фронтенд интерфейс. Кикстартер сгенерирует таблицы в БД.. Кстати в вашем случае, данные лучше выводить данные яваскриптом (аякс).

Начало полностью верное.
Цитата:

Сообщение от ParserYa (Сообщение 31377)
2). Пишите простой ПХП парсер всего что вам нужно... что бы не плодить не нужные классы инклудите все что вам может понадобиться. Я брал настройки БД из стандартной typo3 typo3conf/localconf.php. Для работы с БД использовал t3lib/class.t3lib_db.php Полученные скриптом данные пишите в таблицу, которую сгенерировал кикстартер.

Вот это уже велосипед. Парсер прекрасно реализуется в рамках task'а для Schedule, и при этом не надо делать никаких лишних телодвижений для того чтобы получить доступ к базе данных и прочим необходимым функциям.
Цитата:

Сообщение от ParserYa (Сообщение 31377)
3). Вешаете парсер на крон.. крон - это планировщик заданий. Подробности узнавайте у своего хостера и в гугле.. typo3 никак не связан с планировщиком заданий. Зачем ставить еще и какое-то расширения, как вам советует reva2, я, честно говоря, не понимаю.

Уважаемый ParserYa я не предлагаю ставить никаких дополнительных расширений. Schedule - это расширение, которое идет в базовом пакете. Оно предназначено для централизованного управления заданиями, которые должны выполнятся по расписанию. Т.е. на cron вешает только сам скрипт schedule, а он уже самостоятельно выполняет по расписанию необходимые задачи. При этом заданиями можно очень удобно управлять из административного интерфейса TYPO3.

ParserYa 16.06.2011 11:49

Может быть, я что-то неправильно понимаю.. но ведь Schedule вешается на один крон и он уже запускает все остальные скрипты.. но ведь у одного скрипта есть ограничение времени работы => если повесить на Schedule много тяжелых задач, в это время работы можно и не уложиться..

Если это не так - объясните как несколько сложных(долгих по времени) задач будут запускаться Schedule при том, что ограничение на время работы ПХП скрипта допустим 30 сек. А, еще лучше, если вам не сложно дайте ссылку на какую-нибудь толковую статью про это расширение.

reva2 17.06.2011 01:21

Лимит на время выполнения скрипта актуален только если php работает под apache'ем. В CLI mode таких ограничений нет и скрипт может выполнятся столько сколько ему нужно.


Часовой пояс GMT +4, время: 05:09.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot