小编Ale*_*yev的帖子

捕获滚动​​窗口内容屏幕截图

我需要使用.NET捕获滚动窗口客户区的屏幕截图.我的首要任务是捕获网页截图.但这可能不是唯一一个用例.例如,它也可以是记事本中的文本区域.

某些应用程序(FastStone Capture,PicPick)可以模拟用户行为以到达可滚动区域的隐藏部分并捕获它.我正在寻找类似这样的东西或建议替代方法来获得相同的结果.

替代文字

.net c# browser scroll screenshot

15
推荐指数
1
解决办法
5388
查看次数

Ruby中的大规模调度

我需要一个用于大型动态任务集合的调度程序.目前我正在寻找resque-scheduler,rufus-schedulerclockwork.我将非常感谢您选择使用哪一个(或替代方案).

一些细节:

  • 有大量任务(最多100K)要定期执行.
  • 最短的执行期是1小时.
  • 新任务可能会不时出现.可以更改或删除现有任务.
  • 调度延迟最小化在这里不是关键任务(可扩展性和可持续性是最重要的).
  • 任务执行不是繁重的操作,并且可以轻松并行.

总而言之,我需要像Ruby项目那样的cron,它可以处理大量动态变化的任务集合.

更新:我花了一天时间尝试调度库,现在我想简要总结一下新获得的经验.

我已经停止了对Clockwork和resque-scheduler库的关注,因为这些是更成熟的项目,有更详细的文档.Resque-scheduler基于rufus-scheduler,而Clockwork受其启发,两者都可以用于我正在寻找的解决方案.

两者都是应该在单独进程中运行的独立服务,可以处理为单个或经常执行而安排的几乎无限量的任务.任务在线程内执行.

发条专业人士:

  • 它能够从数据库(通过ActiveRecord或任意源)加载计划任务.
  • 此外,它还可以通过轮询数据库中的数据更新来动态更新计划任务.

发条缺点:

  • 数据库轮询是一个潜在的瓶颈.
  • 轮询间隔为1分钟(加上重新安排所有任务的时间),这有点太慢了.
  • 解决(计划或更改)计划任务没有记录,这就是为什么使用此功能看起来像是一个黑客攻击我.

我已经为Clockwork实现了一个替代的Manager类(这是控制调度的gem的核心部分),以允许通过ZeroMQ消息进行调度控制.因此,我的项目中的主要服务可以向调度程序发送命令,例如"每天运行"或"取消调度任务#10",并且调度程序立即执行每个请求.

我对resque-scheduler的经验较少,但此时它似乎是一个更好的解决方案.

resque-scheduler专业人士:

  • 基于Redis的持久性.手册断言服务重启后可以挽救计划任务.
  • 使用干净API进行动态调度.您只需要调用Resque.remove_schedule(name)以删除特定任务.
  • Web UI.不太重要,但很高兴.

resque调度:

  • 它需要安装Redis.

仔细观察后可能会出现其他东西,但目前还没有别的东西.

这就是我现在拥有的.顺便说一下,我在GitHub上发布了许多与调度相关的Ruby gem的链接.

ruby cron scheduling resque rufus-scheduler

6
推荐指数
1
解决办法
1994
查看次数

Tab-Switching最近订单背后的理由是什么?

当用于选项卡/窗口/文档/任务切换时,我无法理解最近订单背后的原因(Windows在通过Alt+ 切换时如何排序窗口Tab).Firefox进行标签切换的方式(标签保持一致的顺序,Ctrl+ Tab/ Ctrl+ Shift+ Tab用于移动到下一个/上一个标签)似乎比按时间顺序切换更自然.

当有超过5个标签或窗口时,我很快忘记了它们被打开的时间顺序.因此,它们之间的切换顺序变得难以预测.即使我记得这片活跃的当前之前,哪一个是之前活跃的是,它只是需要大量的击键切换到这些.比我在Firefox或Chrome中使用直接订单更多.

  1. 除了向后兼容性(对于习惯于旧热键和使用模式的用户),是否有合理的理由在应用程序中使用MRO?
  2. 为什么它仍然在Windows中使用Alt+ Tab应用程序之间切换?

user-interface tabs

0
推荐指数
1
解决办法
243
查看次数