公司需要把网站上的数据同步写到局域网的一个数据库上,现在的方案是用写个简单页面,页面用 AJAX 每秒调用一次 PHP 页面,php 程序再获取一下阿里云的服务器上的数据,然后写到局域网的数据库里。逻辑上是没问题的,但是这个数据同步页面要 24 小时不停运行,运行一段时间,浏览器就会卡顿了,IE,谷歌,火狐,360 浏览器都是过了,有没有一款长其运行而不卡的浏览器?
1
Hsyyfme 2018-01-03 11:45:58 +08:00
我觉得你应该是写个爬虫而不是找不卡顿的浏览器
|
2
meepo3927 2018-01-03 11:48:14 +08:00
后端的事情,不要为难前端啦
|
3
shapl 2018-01-03 11:48:23 +08:00
写个定时任务啊。。。搞页面 ajax 调用干嘛。。。
|
4
moonsola 2018-01-03 11:50:09 +08:00 3
令人窒息的操作。
PHP 程序所在的服务器加个定时任务,定时访问一下 PHP 页面就可以了 |
5
cxbig 2018-01-03 11:51:22 +08:00 via iPhone
感觉应该是后端的事情
用 cronjob 来跑脚本 |
7
wxsm 2018-01-03 11:54:41 +08:00
脱裤子放屁
|
8
2ME 2018-01-03 11:54:49 +08:00
win 下就直接用计划任务就好了阿 定时执行 php 脚本
|
9
xiaoji24 2018-01-03 11:56:19 +08:00
就没有永远的东西,绝对的东西太可怕。。。
|
10
moonsola 2018-01-03 11:56:45 +08:00
win 下就写 bat 文件,调用 ie 访问页面后关闭 ie。用计划任务执行定时执行 bat 文件
|
12
shapl 2018-01-03 11:59:11 +08:00 1
安利一波。。。 |
14
Moker 2018-01-03 12:00:23 +08:00
需要实时同步么?不需要的话为什么不导出再导入?
|
15
codermagefox 2018-01-03 12:00:39 +08:00 2
|
16
stillsilly 2018-01-03 12:00:44 +08:00
为什么要在 PC 上做这事,你们公司没有服务器吗……
|
17
linxl 2018-01-03 12:01:12 +08:00 1
用 php 自身实现的定时器. https://github.com/huyanping/php_crontab
|
19
AsisA 2018-01-03 12:01:45 +08:00 via Android
corn 或者计划任务跑脚本最方便,不行写个程序也好啊…
|
21
SuperMild 2018-01-03 12:02:58 +08:00
所以,你们用普通版本的 win7 当服务器用?
|
22
hljjhb 2018-01-03 12:04:24 +08:00 via Android 3
令人智息
|
23
wwqgtxx 2018-01-03 12:05:00 +08:00 via iPhone
下载个 curl 或者 wget 写个 bat 文件一秒钟访问一次你的 php 不就得了
|
27
laqow 2018-01-03 12:11:59 +08:00 via Android
网页应该不能跨域,获取数据和同步到本地应该都是 PHP 做的,这样理论上下个 wget,加个计划任务就可以了
|
28
pq 2018-01-03 12:12:06 +08:00
除非只浏览静态 html 页面,否则,很难有一款浏览器能在众多恶意的、逻辑混乱的、低效的动态代码折腾下,保持永远流畅。
|
29
wwqgtxx 2018-01-03 12:12:36 +08:00 via iPhone
@frozenway 你调用 wget 或者 curl 的时候用 start 而不是直接启动就绝对不会卡,还是还卡,你要检查你 php 程序是不是哪里有问题了
|
30
misaka19000 2018-01-03 12:16:33 +08:00 17
虽然我已经懒得黑 PHP 了,但是 PHP 的程序员总是能做出一些让我非常震惊的操作
|
31
hasbug 2018-01-03 12:18:16 +08:00
有,不告诉你
|
32
yangqi 2018-01-03 12:20:31 +08:00
数据库同步用前端 ajax 来同步?这个还是第一次听说,好新鲜啊。你这个正确的姿势就是用数据库自带的同步方案,单向同步很简单,配置一下就行,根本不用写什么代码,防火墙上开一个口就行了,实时同步。
|
33
yulitian888 2018-01-03 12:23:56 +08:00
正道:做一个爬虫,作为 windows 服务跑起来。
折中之道:做一个 windows 计划任务,定时执行你们的 php 那个 url 邪道:定时 ajax 改为定时刷新页面,在页面 load 之后去 ajax 请求你们的 php |
35
frozenway OP @yulitian888 定时任务不能够满足数据实时录入啊
|
36
jason19659 2018-01-03 12:34:09 +08:00
66666666666 用浏览器同步
|
37
Kokororin 2018-01-03 12:34:19 +08:00
写个 php 脚本 while(true) {}
|
38
maggch 2018-01-03 12:40:10 +08:00 1
您这个操作,有毒...
|
39
php01 2018-01-03 12:45:23 +08:00
cli
|
40
fcten 2018-01-03 12:48:24 +08:00
php 可以命令行执行的……
|
41
yulitian888 2018-01-03 12:50:43 +08:00
@frozenway 说的好像每秒一次 ajax 不是定时任务一样。这种事情,做简单的就是 windows 服务,做复杂的上消息队列。实时性要求高用多线程处理队列,实时性要求极高的话上数据库镜像(阿里云里的数据也是你们自己的吧?)
|
43
gclove 2018-01-03 12:54:18 +08:00
楼主这令人窒息的操作。。。。
最起码你也要想到 写 php 守护进程啊, 再者你这个 ajax 浏览器, 为什么不能写一个 Windows 程序 /服务呢 ? |
44
xujiang 2018-01-03 12:54:43 +08:00
为何不用数据库同步工具?
|
45
winglight2016 2018-01-03 13:04:49 +08:00
@xujiang 我也很纳闷,数据同步的活儿,需要这么折腾吗?
|
46
lwbjing 2018-01-03 13:08:55 +08:00
贵司的技术水平,这年底到了,你就没有点别的想法吗?
|
47
582033 2018-01-03 13:09:42 +08:00
楼主的思路真可怕..
|
48
LeungJZ 2018-01-03 13:16:00 +08:00
这,又特么算是黑了一波 php 还是 js ?
。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 楼主,你需要的是一个定时任务。 windows 也有。 实在不行就安个虚拟机,在虚拟机里面执行 crontab。比浏览器靠谱多了。 |
49
jasontse 2018-01-03 13:16:58 +08:00 via Android
看这标题我想你是搞错了思路
|
50
skylancer 2018-01-03 13:21:22 +08:00
只能说卤煮和贵司技术能力真的堪忧
|
51
huson 2018-01-03 13:32:55 +08:00
不就一个 crontab +一个脚本的事情- -
|
52
RubyJack 2018-01-03 13:33:02 +08:00
这种需求和浏览器能有关系??? 水平之低令人发指
|
53
laoyuan 2018-01-03 13:34:55 +08:00
php 写个带计时的死循环电脑会不会爆炸?
|
54
chinvo 2018-01-03 13:35:55 +08:00
你需要一个数据库 replication
和 PHP/Java/JS 无关,高级打字员花样真多…… |
55
flynaj 2018-01-03 13:37:35 +08:00
用浏览器做数据库同步,浏览器卡问题出在操作系统上,换个操作系统。换 android 看看
|
56
neoblackcap 2018-01-03 13:41:17 +08:00
不是用个 VPN 就可以了吗?然后弄个什么主从复制啊
|
57
calming 2018-01-03 13:41:53 +08:00
还有这种操作吗,笑死我了
|
58
Felldeadbird 2018-01-03 13:44:50 +08:00
win 有计划任务。用计划任务执行 PHPCGI 就可以了。
|
60
1002xin 2018-01-03 14:04:31 +08:00
令人窒息的问题
|
62
keenwon 2018-01-03 14:07:49 +08:00
重启电脑或者浏览器就能好?那你 js 里直接每隔 10min 刷一下页面不就好了?
setTimeout(() => { location.reload() }, 10 * 60 * 1000); |
63
suduo1987 2018-01-03 14:28:32 +08:00
确认不是内存泄漏了?
|
64
likuku 2018-01-03 14:32:51 +08:00
阿里云机器和你局域网机器用 openvpn 连起来,阿里云机器上直接 crontab 定时跑 php (假若你们只有 php 程序员)执行:
数据抽取,数据重组为局域网 db 格式,重组后数据写入局域网 db 是否记录日志什么,自己看需求吧。 |
65
carlclone 2018-01-03 14:35:59 +08:00
来黑 PHPer 的
|
66
linap 2018-01-03 14:38:08 +08:00 via Android
令人窒息
|
67
CDog34 2018-01-03 14:41:30 +08:00
没有
|
68
summerwar 2018-01-03 14:44:16 +08:00
楼主说的话相互矛盾,一方面说要 24 小时不停运行,一方面又说是其他部门的人管理。
24 小时不停运行,直接程序访问那个 php 页面,然后解析就可以了,在弄个时钟 1 秒访问一次就行了。 放给别人管理,程序挂了,重启下浏览器就好了,那跟重启下程序有啥区别? |
69
oldj 2018-01-03 15:00:41 +08:00
你的 JS 里加一段逻辑,比如每 1000 次 Ajax 请求或每 15 分钟,自动刷新一下当前页面,是不是就可以了?
|
70
gouchaoer 2018-01-03 15:03:17 +08:00
第一这个数据库同步你为啥不直接使用 mysql 的主从
第二这个数据展示页面为啥不直接用 phpmyadmin,把账号权限配好没有任何问题 |
71
cnwtex 2018-01-03 15:09:46 +08:00 1
别用 ajax 啊,你用 meta refresh 就没事了
|
72
goodryb 2018-01-03 15:31:19 +08:00
什么狗屁逻辑,真是看不下去了,搞技术的能不能用点心,数据同步要什么浏览器、php、JS
还要实时同步,我就问你,这台 windows 电脑要是死机了咋办,万一系统自动更新了咋办 网络不通就想办法打通网络,再来想怎么同步数据 |
73
achenme 2018-01-03 15:42:07 +08:00
别黑了...
|
74
sunber 2018-01-03 15:47:32 +08:00
那作为“高级技术”的我就没时间做其他更重要的开发咯!
。。。 。。。 |
75
LXVC 2018-01-03 15:51:32 +08:00 1
『目不识丁』不是这么用的。。。
|
76
MaxTan 2018-01-03 15:56:52 +08:00
感觉程序员被卤煮黑了一波。。。
|
77
banro512 2018-01-03 15:56:55 +08:00 via Android
简单的或者明显违背常理的问题,就不要来这里问了,会被喷到怀疑人生。
单独一个电脑,安装个纯净 chrome,使用 meta 自动刷新,应该能满足 |
78
turan12 2018-01-03 15:59:34 +08:00
把页面定时 refresh 一下。
|
79
AlisaDestiny 2018-01-03 15:59:35 +08:00
我觉得你可以写个 py 脚本打包成 exe.让他们每次启动电脑打开这个软件就行了。
|
80
qcind 2018-01-03 16:00:43 +08:00
IE+
|
81
jrient 2018-01-03 16:14:16 +08:00
不太明白为什么要用页面请求触发服务器事件
可能 crontab 是一个摆设把 |
82
jrient 2018-01-03 16:15:46 +08:00
“作为高级技术的”楼主,还是多参考参考 v 友们的方案把,浏览器什么的实在是太蠢了。
|
83
laodao1990 2018-01-03 16:24:22 +08:00
用户不懂也不能这么搞啊,后台写个程序。
你给他们写一个页面负责开关这个程序不行吗? |
84
realpg 2018-01-03 17:24:43 +08:00
|
85
jjianwen68 2018-01-03 17:33:47 +08:00 5
这确实某种程度上表现了 php 程序猿的水平
|
86
AsisA 2018-01-03 17:38:26 +08:00 via Android
那就写个小程序好了,WinForm 做界面分分钟就好了
|
87
AsisA 2018-01-03 17:41:27 +08:00 via Android
我也写过请求刷新网站的程序,10 分钟开发好,稳定跑了一年多了,浏览器还是有太多不稳定因素了,不推荐用浏览器
|
88
Moker 2018-01-03 18:02:54 +08:00
最后的解决方案还真的是........那为了防止电脑卡顿是不是要多开几台电脑防止其中一台电脑死机?
就是一个同步任务?需要怎么管理?打开或者关闭? Go 打包 exe 吧,也不需要什么浏览器,无法理解场景。 |
89
bk201 2018-01-03 18:04:19 +08:00
既然出了事情就重启,那你还管卡不卡做什么呢?不要掩饰啥,安安静静写代码不好嘛
|
90
jy02534655 2018-01-03 18:09:20 +08:00
令人窒息的操作呀
|
91
keysking 2018-01-03 18:16:07 +08:00
curl
|
92
htfy96 2018-01-03 18:17:48 +08:00
又黑 PHP
|
93
facetest 2018-01-03 18:45:20 +08:00 via Android
如果几个浏览器都卡了呢?
|
94
caola 2018-01-03 18:53:30 +08:00
wget 不会卡。。。
|
95
LokiSharp 2018-01-03 19:01:55 +08:00 via iPhone
如果。。。系统卡了呢?
|
96
j4fun 2018-01-03 19:11:34 +08:00
作为高级技术的”楼主自己开发个不会卡顿的浏览器不是很简单的事情吗~
|
97
Nitromethane 2018-01-03 19:22:06 +08:00
为什么不写个程序让服务器自己上报。。。这样还知道服务器是否宕机~
|
98
chinvo 2018-01-03 19:31:48 +08:00
高级技术、高级技术
惹不起惹不起 |
99
flynaj 2018-01-03 20:20:09 +08:00 via Android
|
100
kokutou 2018-01-03 20:22:32 +08:00 via Android
过几天:如何才能让 windows7 不自动重启?? it 强制开了更新补丁,在线等,挺急的,作为高级技术没时间解决这问题。
|