LeonLee

LeonLee

这家伙有点懒,还没写个性签名!

  • 财富值55
  • 威望值30
  • 总积分435

个人信息

  • 发布了源码
    Yii2 后台脚本管理
  • 写得不错哦,加油!

  • 回复了 的评论

    那些界面什么的都没有啊,请问怎样让他跑起来?

    这个主要是为了console的管理,我只给出了核心代码,至于界面长什么样子,你可以自己定制。

  • 赞了评论

    我当时考虑了以下一些情况,有哪些没考虑到的情况麻烦大家指出:

    1. 主进程被意外关闭,或者意外关机。
      解决方法: 把主进程放到crontab里,隔一段时间调用一次(根据脚本的重要性设置时间长短)。这样即使进程突然挂了,过一段时间也会自动重启。机器挂了,在重启时也会自动启动。(当然,如果服务器挂了还没立即检测到并重启,那就该找运维同学谈谈心了.)
    2. 同一脚本被同时(并发)调用,或者脚本在执行时,又有另一个进程来调用。
      解决方法: 在启动脚本的时候,检查内存中是否有该脚本的进程,如有就不调用,避免并发引起问题。
      当然,如果希望并发,可以考虑使用多线程的方法。不过不太建议使用PHP做多线程。
    3. 一个脚本执行时间过长,有可能造成资源死锁
      解决方法:设置脚本最大执行时间,如果主进程扫描到某脚本执行超时,则强制杀掉该进程。
    4. 如何知道脚本的执行情况,是成功还是失败。
      解决方法:在控制器里封装了公共的日志记录方法,脚本里可以打印一些关键信息到该日志里,然后脚本在执行完成后应该返回true/false告知主进程是否调用成功。所有的日志都记录在数据库里,方便查询。
    5. 针对不同类型脚本执行失败情况的考虑
      无固定解决方法,根据实际业务决定不同类型脚本是否需要失败重试以及重试次数。甚至可以自己加入监控,脚本失败时发邮件或通知。
  • 我当时考虑了以下一些情况,有哪些没考虑到的情况麻烦大家指出:

    1. 主进程被意外关闭,或者意外关机。
      解决方法: 把主进程放到crontab里,隔一段时间调用一次(根据脚本的重要性设置时间长短)。这样即使进程突然挂了,过一段时间也会自动重启。机器挂了,在重启时也会自动启动。(当然,如果服务器挂了还没立即检测到并重启,那就该找运维同学谈谈心了.)
    2. 同一脚本被同时(并发)调用,或者脚本在执行时,又有另一个进程来调用。
      解决方法: 在启动脚本的时候,检查内存中是否有该脚本的进程,如有就不调用,避免并发引起问题。
      当然,如果希望并发,可以考虑使用多线程的方法。不过不太建议使用PHP做多线程。
    3. 一个脚本执行时间过长,有可能造成资源死锁
      解决方法:设置脚本最大执行时间,如果主进程扫描到某脚本执行超时,则强制杀掉该进程。
    4. 如何知道脚本的执行情况,是成功还是失败。
      解决方法:在控制器里封装了公共的日志记录方法,脚本里可以打印一些关键信息到该日志里,然后脚本在执行完成后应该返回true/false告知主进程是否调用成功。所有的日志都记录在数据库里,方便查询。
    5. 针对不同类型脚本执行失败情况的考虑
      无固定解决方法,根据实际业务决定不同类型脚本是否需要失败重试以及重试次数。甚至可以自己加入监控,脚本失败时发邮件或通知。
  • 赞了源码
    Yii2 后台脚本管理系统
  • 2016-08-17 已签到
    连续签到1天,获得了5个金钱
  • 发布了源码
    Yii2 后台脚本管理系统
见习主管 等级规则
435/500
资料完整度
20/100
用户活跃度
0/100

Ta的关注

1

Ta的粉丝

10

Ta的访客

15