1、建议你读写数据和下载图片分开,各用不同的进程完成。
为冷水江等地区用户提供了全套网页设计制作服务,及冷水江网站建设行业解决方案。主营业务为成都做网站、成都网站建设、成都外贸网站建设、冷水江网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
比如说,取数据用get-data.php,下载图片用get-image.php。
2、多进程的话,php可以简单的用pcntl_fork()。这样可以并发多个子进程。
但是我不建议你用fork,我建议你安装一个gearman worker。这样你要并发几个,就启几个worker,写代码简单,根本不用在代码里考虑thread啊,process等等。
3、综上,解决方案这样:
(1)安装gearman worker。
(2)写一个get-data.php,在crontab里设置它每5分钟执行一次,只负责读数据,然后把读回来的数据一条一条的扔到 gearman worker的队列里;
然后再写一个处理数据的脚本作为worker,例如叫process-data.php,这个脚本常驻内存。它作为worker从geraman 队列里读出一条一条的数据,然后跟你的数据库老数据比较,进行你的业务逻辑。如果你要10个并发,那就启动10个process-data.php好了。处理完后,如果图片地址有变动需要下载图片,就把图片地址扔到 gearman worker的另一个队列里。
(3)再写一个download-data.php,作为下载图片的worker,同样,你启动10个20个并发随便你。这个进程也常驻内存运行,从gearman worker的图片数据队列里取数据出来,下载图片
4、常驻进程的话,就是在代码里写个while(true)死循环,让它一直运行好了。如果怕内存泄露啥的,你可以每循环10万次退出一下。然后在crontab里设置,每分钟检查一下进程有没有启动,比如说这样启动3个process-data worker进程:
* * * * * flock -xn /tmp/process-data.1.lock -c '/usr/bin/php /process-data.php /dev/null 21'
* * * * * flock -xn /tmp/process-data.2.lock -c '/usr/bin/php /process-data.php /dev/null 21'
* * * * * flock -xn /tmp/process-data.3.lock -c '/usr/bin/php /process-data.php /dev/null 21'
不知道你明白了没有
1.web前端和大数据是两个不同的领域。其中涉及了不同的知识体系以及工具。
2.PHP和python是编程语言,属于工具,不属于方向。你可以用python搞大数据,也可以用PHP来搞大数据,只是python比PHP更合适,效率更高。你可以用python开发网站,也可以用PHP,只是用PHP开发web更高效,成本更低廉。
所以,说方向的话,web前端和大数据 你可以来选一个。如果说选定方向以后用什么工具来做,那么PHP和python哪个效率高,更适合,就用哪个
主要有二个方向:
一是大数据维护、研发、架构工程师方向;所涉及的职业岗位为:大数据工程师、大数据维护工程师、大数据研发工程师、大数据架构师等;
二是大数据挖掘、分析方向;所涉及的职业岗位为:大数据分析师、大数据高级工程师、大数据分析师专家、大数据挖掘师、大数据算法师等
不要想的太宽,建议从PHP先学起,试想哪个公司会让新人一上去就去设计数据库呢。数据库在工作中自然能慢慢锻炼,并且由于硬件和实践的原因,在工作中学到的数据库方面的知识绝对是在学校拼命看书所不能比的
该专业毕业的学生可以去对大数据处理有需求的各行业部门,如银行、商业机构、电信、电商公司等入职,也可以从事数据采集、管理、分析与挖掘方面的工作。
1、大数据工程师:从事数据采集与管理工作,需要较强的IT专业能力,这个岗位也有很多别名,如hadoop工程师、javag工程师(大数据)、ETL工程师等,关键看其岗位职责和技能需求,别看名字。应届生月薪平均在10k以上。
2、大数据分析师:从事数据资源开发与利用,主要工作是数据分析、和数据挖掘,能出图表、出报告。需要数量使用一些分析工具,比如spss、SAS,如果能使用编程的方式灵活进行数据分析,就更好了,比如python或R.这个岗位也有别名,比如数据分析师,商务智能分析师。应届生月薪大约在8k以上。
3、算法工程师:从事机器学习,构建人工智能模型,也称机器学习工程师,在商业领域,也有称为商务智能工程师的。该岗位需要很强的数学分析能力和编程能力,是三个岗位中的金领职位,也是月薪最高的职位,应届生月薪目前在15K以上。