avatar_epmak

DevMu Web Clone engine 1.6.2, пилим потихоньку

Автор epmak, 2015 Окт. 10, 22:04

« назад - далее »

0 Пользователи и 5 гостей просматривают эту тему.

revenson

#220
Ну что сказать, начал работать я с мвц довольно таки не плохой движок, но много работать с ним ещё надо, как и объяснил сам создатель что движок настроен на то что бы мы сами могли создать или портировать модули. Я попытался, и оказалось это не тяжелою. Портировал модуль смена ника, вышел не большой косяк с запросами на базу, но всё получилось, и потратил то не особо  много времени. Так же сам дизайн не проблема подогнать под движок, всё довольно просто если есть познания html и css хотя бы какие то. В помощи Лёха не отказывает всегда поможет, если что нужно. Если кому надо модули смена ника и класса пишите в лс...

Главное терпения и все получиться...Желаю всем удачи.
Если какие есть вопросы по дизайну пишите помогу чем смогу.

epmak

Сегодня успешно протестировал механизм передачи параметров в скрипт прямо из крона:

Например, вбив в крон в isp панели что-то вроде:
php /var/www/user/data/www/domain/index.php page/someModule param1=value1 param2=value2

движок можно заставить выполнить какой-то модуль, причем, в скрипт будут переданы данные через GET :
GET[param1]=value1
GET[param2]=value2
сам скрипт даже знать не будет о том, что это было передано через командную строку.

Для чего это надо:
- рассылки почты
- сервисы, что должны работать в фоне, чтобы не нагружать клиент

В общем, основная ценность данного механизма - не разделять специально крон скрипты и просто сайт и писать преспокойно в 1 стиле.
Единственное, что стоит сделать - просто банальную проверку, с http на скрипт пришел кто-то или из командной строки. (проверка того же $_SERVER, как пример).

Обновление доступно на SVN, пока не выкладываю сборку.

Profesor08

Сделать распределенный механизм обновления кешей и прочей лабуды за счет посещений. Например в виде очереди. И не надо думать про всякие кроны и тп..

epmak

какой распределенный механизм?
у меня, например, на двиге крутится ERP - система, и там очень много процессов, которые ты ну никак не привяжешь к распределенному кешированию, начиная от огромного количества почтовых сообщений, заканчивая генерацией очень ресурсоемких отчетов.
И мне приходилось делать 2 вещи, в зависимости от ограничений:
либо запускать кроноподобную прогу, которая бы мне на определенный адрес каждые н-минут заходила, открывая http (в конечном итоге, была написана целая служюа на с# которая этим онанизмом занималась),
либо запускался определенный скрипт из определенного места, с кусками выпеленного из общего движка кода.
Саппортить это все крайне неудобно, поверь на слово.
Теперь от всей этой штукени я полностью избавился. Все скрипты в 1 месте и доступ к ним имеет только командная строка, для всех остальных есть ошибка, веселая и забавная. Стало гораздо удобней.

Profesor08

Ну вот видишь. Ты сам себе замутил кучу гемора. Ограничившись командной строкой, ты чуть уменьшил гемор так как ограничился одной системой. Но ты не избавил сайт от необходимости в использовании внешних программ и не избавил себя от настройки этих программ. Но можно было сделать и иначе, без необходимости в воздействии из вне. Например рассылка: надо отсылать ~ раз в неделю 100000 писем. Да пхп же подохнет пока отошлет и 1%, если не дать ему больше времени. Но, можно слать по 100 писем за раз. Сделать некую очередь выполнения скриптов, которая будет выполнять один или несколько скриптов за раз при посещении сайта кем-то. А скрипт с рассылкой из примера, каждый раз при обращении будет сделать следующие 100 писем. Да, надо пошевелить извилинами, чтоб все красиво работало и незаметно для пользователя, но избавление от костылей того стоит.

epmak

Цитата: Profesor08 от 2016 Сен. 03, 14:26  Ну вот видишь. Ты сам себе замутил кучу гемора. Ограничившись командной строкой, ты чуть уменьшил гемор так как ограничился одной системой.

все идет в 1 пакете, мне не нужно много дополнительных приблуд.

Цитата: Profesor08 от 2016 Сен. 03, 14:26  Но ты не избавил сайт от необходимости в использовании внешних программ и не избавил себя от настройки этих программ. Но можно было сделать и иначе, без необходимости в воздействии из вне. Например рассылка: надо отсылать ~ раз в неделю 100000 писем.
в среднем, раз в 5-10 минут уходит на почту по 20-30 писем с оповещениями о задачах, проектах и каких-то действиях, которые пользователю необходимо знать. В каждом письме от 1 до много событий, в среднем. Система интерактивная и "реального времени", если можно так назвать систему на php :).

Цитата: Profesor08 от 2016 Сен. 03, 14:26  Да пхп же подохнет пока отошлет и 1%
если слать все 100000, как ты хочешь, то не подохнет, а просто выполнять будет относительно дольше, чем дестктопная прога или служба, под это заточенная. У меня эта проблема решена при помощи разделения по типам событий, их сортировкой и отправкой на почту разными письмами, соотв. в почтовом клиенте просто настроены папки, например системные сообщения, багтрекер, задачи, проекты. И каждое письмо приходит и правилом отправляется в нужную папку.

Цитата: Profesor08 от 2016 Сен. 03, 14:26  Сделать некую очередь выполнения скриптов, которая будет выполнять один или несколько скриптов за раз при посещении сайта кем-то.
Когда у тебя на сайте единовременно работает 30-50 человек, каждому может придти всплывающее окно с событиями, на которые он подписан + он сам забивает какие-то данные, что-то загружает/выгружает.. В общем, такая нагрузка не к чему, когда есть возможность вынести подобные вещи на даемоны. То, что они написаны на пхп - не плохо, особенно, когда трезво рассчитываешь возможности. А монолитность системы тебе позволяет проще ее спаппортить. + не надо забывать, что для энтерпраза достаточно существенно держать целый цех программистов разных направлений.

Цитата: Profesor08 от 2016 Сен. 03, 14:26  А скрипт с рассылкой из примера, каждый раз при обращении будет сделать следующие 100 писем.
все письма должны быть актуальны и система не должна при этом тормозить. Дальше тебе не волей придется выносить функционал во вне.


Да, надо пошевелить извилинами, чтоб все красиво работало и незаметно для пользователя, но избавление от костылей того стоит.

Так оно красиво и работает, и костылей нет.

cokpat

Леха без обид, но сайт должен быть простым. Какой из админов будет заворачиваться с твоими блестящими решениями? Админ хочет зайти в панель потыкать мышкой, вписать пару значений , сохранить проверить.
У тебя же на каждый писец находится костыль.
Я не говорю что супер админ и во всем шарю, но твой сайт заинсталить так и не вышло.

Ты превзошел все сайты что я видел

epmak

Цитата: cokpat от 2016 Сен. 03, 15:17  Леха без обид, но сайт должен быть простым.

Андрюх, он простой. честно. Сам сайт состоит из модулей, которые ты можешь и не использовать и более того, выключать насильно. Те "блестящие решения", если говорить о загрузке из cmd, как краска для велосипеда. Если на сайте адекватная работа с путями, то любой можно запустить из cmd, в обход веб-сервера.

по поводу проблемы инсталки сайта, ты мог бы стукнуться ко мне, так как реально была проблема с установкой, после того, как я впилил поддержку с разных хостов одновременно (из-за построения конфигов). Но она была пофикшена. + ко всему, в установке доступна и ручная установка, то есть, когда, как в старые времена, открываешь qa и вписываешь скрипты в него. Она никогда не ломалась.

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

Profesor08

Не, так не пойдет. Сайт должен быть самодостаточным. Иначе лучше уже делать отдельное приложение, которое будет заниматься всякой лабудой. А то как-то выглядит не очень, вроде сайт все делает, но чтоб все было четко, нужны дополнительные сторонние приблуды.

epmak

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

Новый билд

Что нового:

  • Оптимизации в ядре
  • Добавлена категория ошибок + переименована категория ошибок
  • Исправлена возможная ошибка при генерации списка страниц, что могло вызвать ошибку на всех страницах
  • Из скрипта установки убрана строка с проверкой доступов, которая сбивала с толку пользователей

Ссылки
Скачать патч 162-170
Скачать билд целиком

Как ставить патч
Спойлер
0. phar должен быть включен в php.ini
1. Патчи ставятся по порядку, если у Вас не стоит более 2-3 патчей, возможно, Вам проще скачать билд и сразу поставить (не устанавливать заново, а скопировать файлы) его (предварительно сохранив свои конфиги).
2. Убедится, что build/admin/_dat/updates имеет доступ на запись

При обновлении будут заменены файлы:

mwce/Model.php
mwce/pageBuilder.php
mwce/Connect.php
mwce/Controller.php
mwce/router.php
mwce/DicBuilder.php
mwce/content.php

theme/install/html/public/step1.html

build/muonline/inc/Character.php
build/muonline/lang/ru/errors.php


Они должны быть доступны на запись.
[свернуть]


Появился модуль телепорта персонажа, искать тут

П.С. Если возникают ошибки, не стесняемся пишем на форуме в личку или в теме. Интерес обоюдный.

localbug

Всем привет, есть пару вопросов, возможно ли поставить сайт на обычный Хостинг с поддержкой PHP или же обязательно ставить на сервак?

Nike555

Цитата: localbug от 2016 Сен. 06, 17:21  Всем привет, есть пару вопросов, возможно ли поставить сайт на обычный Хостинг с поддержкой PHP или же обязательно ставить на сервак?
Естественно возможно)
Главное учти чтобы версия пхп хоста была 5.6 или выше.
В случай если ты имел ввиду для сервера муонлайн, то убедись что хост поддерживает подключение по MSSQL.

Profesor08

А почему именно 5,6? И что случится если запустить на 5.5?

epmak

Цитата: Profesor08 от 2016 Сен. 06, 19:42  А почему именно 5,6? И что случится если запустить на 5.5?
из-за static::class, self::static  и ряда еще моментов, которые до 5.6 либо багнутые, либо отсутствуют. а тащить за собой багаж такой 1 не весело.

Profesor08

Ходовая сейчас это 5.5, а 5.6 это так, проходная. Лучше уже 7 и не париться.

epmak

#235
...у меня на работе 7.0.10 единственная разница в ядре - вместо Exception Throwable ну и ряд специфических изменений, что на версии пыхи никак не влияет. запускай хоть на 7 хоть на 5.6
по поводу того что ходовое - у некоторых и sql2000 ходовой. их дело.

epmak

На svn выложил версию, что включает в себя unitpay. Требуется тест, как оно все будет работать.
проверка должна приходить на page/Unitpay  через GET.  + изменился модуль получения кредитов в целом, там есть настройка, что использовать. либо ikpay либо unitpay

Profesor08


epmak


VETUS

Добавь интеркассу и пайпал оплату на прямую.

Похожие темы (3)

Сообщений: 0
Просмотров: 981

Сообщений: 4
Просмотров: 1434