那个 job 是怎么调用的?是在 Sidekiq 里异步执行的吗?
如果是 ajax 上传,成功后返回 photo_id,插入 DOM(form) 里面,后面该怎么做就怎么做。
不过,相比 topic.photo_ids,我更偏向 photo.topic_id,photo 做成多态,比如 attachment, topic 就是 attachable。
如果觉得麻烦直接 new topic 就 create topic 问题也不大吧,更新时看标志,无效再删掉就行。
断舍离不容易,一直尝试不安装任何插件,把大部分插件的功能吸收到自己的 init.el 里面,但还是失败,目前还是拖着 prelude 这个"油瓶"在用,本来就是想不依赖大多东西到哪都可以用 Emacs,
赞楼主的视力,自己顶多开 4 分屏,字体大小看不了。
曾经就受 capybara + headless chrome 测试启发写爬虫.... 缺点是很慢,超占资源
elasticsearch ?
你这场景用一般的 scheduler(sidekiq, activejob) 就行了吧,能不加 watchdog 就不加。
办法是在你要延迟处理的对象上做标志,等到 scheduler 运行到时判断这个标志忽略过去就行。
可以不点,没人管你,不过一直同一个地方偶尔点点啰。
第一次接触的是原始的 vi 掉坑了,而 vim 打开后就有一个说明教如何退出。
哇塞,DevOps 待遇比 FullStack 好?!怎么回事?
很有用,早前就想利用 OTP 做一个类似 Google Authenticator 的 app, 还可以加入到 ssh 登录做两步验证。
#18 楼 @lithium4010 开个玩笑
#13 楼 @lithium4010 别让你老板看到。。。
# at end of A worker
redis.incr "a-workers-done-couter"
# at beginng of B worker
while redis.get("a-workers-done-counter").to_i < N do
sleep 1
end
# at end of B worker
redis.del "a-workers-done-counter"
#6 楼 @lithium4010 真不复杂
#7 楼 @lithium4010 这个才复杂
#2 楼 @lithium4010 就多两句 redis 而已
#2 楼 @lithium4010 你的 t T 怎么保证?
既然 a 可以并发执行,让 a 并行,每个 a 完成后到 redis 上标志,b 可以随时启动,执行前看标志,等到 n 就执行。这样子行不行?
skype + hipchat + trello
网站?项目介绍?
用 sidekiq-scheduler
替换 crontab 已经一年多了,很稳定。避免任务重叠可以自己加锁。
拼 sql 包到 scope 无伤大雅。
#26 楼 @dsh0416 其实我不是想说异步,线程哪个好与不好,更多时候,我认为是能用线程尽量用线程。对分布式资源,线程可能更友好。当然,像 nginx 这种应用使用 I/O 多路复用技术来提高并发,那是很合理的事,因为它本身几乎啥都没做。提高并发很多时候只带来了问题而不是解决问题。 反正,在做类似爬虫,map reduce 处理之类的任务,我觉得线程更好。
当然,使用多线程时尽量保持确定的线程数量避免上下文切换,每个线程就像 daemon 一样运行。
可以再参考一下: http://www.ducons.com/blog/tests-and-thoughts-on-asynchronous-io-vs-multithreading
正常来说 Cart.find(session[:cart_id])
是按 id find, 找不到就应该会抛出 ActiveRecord::RecordNotFound
2013 年的时候用过 event_machine + fiber,好多坑,后来改成直接用 thread 的稳定很多。异步也不是万金油,很多时候可能线程更好,rust 线程对比 goroutine 就快很多。如果是计算密集型的用线程,是 IO 密集型还是用线程。扯到 IO 的时候,问题都出在 内存,网络,磁盘上,异步做法可能只是代码好看些。
👍 能具体分享一下更赞了。
不错,好好研究一下
In Ruby, everything is an object.
Set 或 HashMap 吧