由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 求助有什么好办法能在后台处理耗时的工作,完成之后发
相关主题
core java里有跟C++ std::async类似的东西吗?对J2EE的几个迷惑
python下怎么解决GIL?HTML5 for .NET Developers
以前是java 程序员,要面试.net 程序员前台要吞掉后台了吧
看看大牛们为什么都远离.net我来说说go的目标对手吧
要开始学PHP了,一头雾水啊请教python高手异步编程的问题
哎。又有公司从.NET转Node了java笑node的
从Java转到C#,值么? (转载)如何提高Spark在Yarn上的内存使用率
looking for .NET/SQL developer position有人在Java/J2EE项目中用过多线程/concurrent吗?
相关话题的讨论汇总
话题: 工作话题: 用户话题: net话题: celery话题: 提交
进入Programming版参与讨论
1 (共1页)
s**********s
发帖数: 16
1
耗时的工作一般需要3个小时左右,希望用户提交工作以后,在后台排队,处理完毕之
后,发电子邮件通知用户去取结果文件。
狗了一大通以后,找到了这个开源的结构Hangfire http://hangfire.io/overview.html,基本满足我所有的要求,有限的代码拿来鼓捣了几天,写了一个MVC程序也都工作了。只是现在遇到了一个最最大的麻烦就是,比如某用户打开一个浏览器提交了3个工作,送到后面queue起来,用户于是关掉浏览器等待处理结果。这时候,如果再有另外一个用户也想打开页面提交工作,结果页面就一直是loading...状态,左下角的错误提示是waiting for available socket......要一直等到前面排队的那3个工作都全部完成了,这个页面才能打开,然后第二个用户才能提交他的工作。
我基本就是照着这个例子里的Hangfire.MvcApplication改写的
https://github.com/HangfireIO/Hangfire.Samples
为什么是这样的结果呢?为什么页面好象被什么锁住?要一直等到前面工作都处理完才
能再次被打开呢?或者大家有什么别的好办法可以达到同样的要求吗?谢谢!
d******e
发帖数: 2265
2
python celery
akka
都是干这个活的。

【在 s**********s 的大作中提到】
: 耗时的工作一般需要3个小时左右,希望用户提交工作以后,在后台排队,处理完毕之
: 后,发电子邮件通知用户去取结果文件。
: 狗了一大通以后,找到了这个开源的结构Hangfire http://hangfire.io/overview.html,基本满足我所有的要求,有限的代码拿来鼓捣了几天,写了一个MVC程序也都工作了。只是现在遇到了一个最最大的麻烦就是,比如某用户打开一个浏览器提交了3个工作,送到后面queue起来,用户于是关掉浏览器等待处理结果。这时候,如果再有另外一个用户也想打开页面提交工作,结果页面就一直是loading...状态,左下角的错误提示是waiting for available socket......要一直等到前面排队的那3个工作都全部完成了,这个页面才能打开,然后第二个用户才能提交他的工作。
: 我基本就是照着这个例子里的Hangfire.MvcApplication改写的
: https://github.com/HangfireIO/Hangfire.Samples
: 为什么是这样的结果呢?为什么页面好象被什么锁住?要一直等到前面工作都处理完才
: 能再次被打开呢?或者大家有什么别的好办法可以达到同样的要求吗?谢谢!

s**********s
发帖数: 16
3
终于有回复了!谢谢
之前也看过Celery,可是我不会Python,岁数大了学新技术真的好慢。Hangfire是.NET
版本的Celery,背景又是MVC.NET这个我上手比较快
n*****t
发帖数: 22014
4
查查 session expiration 之类的设置

【在 s**********s 的大作中提到】
: 耗时的工作一般需要3个小时左右,希望用户提交工作以后,在后台排队,处理完毕之
: 后,发电子邮件通知用户去取结果文件。
: 狗了一大通以后,找到了这个开源的结构Hangfire http://hangfire.io/overview.html,基本满足我所有的要求,有限的代码拿来鼓捣了几天,写了一个MVC程序也都工作了。只是现在遇到了一个最最大的麻烦就是,比如某用户打开一个浏览器提交了3个工作,送到后面queue起来,用户于是关掉浏览器等待处理结果。这时候,如果再有另外一个用户也想打开页面提交工作,结果页面就一直是loading...状态,左下角的错误提示是waiting for available socket......要一直等到前面排队的那3个工作都全部完成了,这个页面才能打开,然后第二个用户才能提交他的工作。
: 我基本就是照着这个例子里的Hangfire.MvcApplication改写的
: https://github.com/HangfireIO/Hangfire.Samples
: 为什么是这样的结果呢?为什么页面好象被什么锁住?要一直等到前面工作都处理完才
: 能再次被打开呢?或者大家有什么别的好办法可以达到同样的要求吗?谢谢!

d******e
发帖数: 2265
5
不懂.net上的。
但是celery你要设一个queue做broker.
web server async call一下就进quque了。离开会返回。

NET

【在 s**********s 的大作中提到】
: 终于有回复了!谢谢
: 之前也看过Celery,可是我不会Python,岁数大了学新技术真的好慢。Hangfire是.NET
: 版本的Celery,背景又是MVC.NET这个我上手比较快

l*****g
发帖数: 138
6
这个要求很简单啊,为啥要用别人的framework? 自己写个多线程的broker 不就行了吗
?如果用java 的话,收到请求,包装成一个runnable 提交给executor。如果需要运算
完马上call back,可以用一个future, 否则的话可以把结果存在数据库里,隔一会poll
一下就行了。当然还有些housekeeping 的工作需要做,比如万一算到一半crash怎么恢
复,但是都很简单。
我用开源软件的原则就是一定要用的广泛的,质量有保障,有问题也容易找到答案。小
众的开源软件真不如自己写。

【在 s**********s 的大作中提到】
: 耗时的工作一般需要3个小时左右,希望用户提交工作以后,在后台排队,处理完毕之
: 后,发电子邮件通知用户去取结果文件。
: 狗了一大通以后,找到了这个开源的结构Hangfire http://hangfire.io/overview.html,基本满足我所有的要求,有限的代码拿来鼓捣了几天,写了一个MVC程序也都工作了。只是现在遇到了一个最最大的麻烦就是,比如某用户打开一个浏览器提交了3个工作,送到后面queue起来,用户于是关掉浏览器等待处理结果。这时候,如果再有另外一个用户也想打开页面提交工作,结果页面就一直是loading...状态,左下角的错误提示是waiting for available socket......要一直等到前面排队的那3个工作都全部完成了,这个页面才能打开,然后第二个用户才能提交他的工作。
: 我基本就是照着这个例子里的Hangfire.MvcApplication改写的
: https://github.com/HangfireIO/Hangfire.Samples
: 为什么是这样的结果呢?为什么页面好象被什么锁住?要一直等到前面工作都处理完才
: 能再次被打开呢?或者大家有什么别的好办法可以达到同样的要求吗?谢谢!

c*********e
发帖数: 16335
7
用node.js也不错啊,async

【在 s**********s 的大作中提到】
: 耗时的工作一般需要3个小时左右,希望用户提交工作以后,在后台排队,处理完毕之
: 后,发电子邮件通知用户去取结果文件。
: 狗了一大通以后,找到了这个开源的结构Hangfire http://hangfire.io/overview.html,基本满足我所有的要求,有限的代码拿来鼓捣了几天,写了一个MVC程序也都工作了。只是现在遇到了一个最最大的麻烦就是,比如某用户打开一个浏览器提交了3个工作,送到后面queue起来,用户于是关掉浏览器等待处理结果。这时候,如果再有另外一个用户也想打开页面提交工作,结果页面就一直是loading...状态,左下角的错误提示是waiting for available socket......要一直等到前面排队的那3个工作都全部完成了,这个页面才能打开,然后第二个用户才能提交他的工作。
: 我基本就是照着这个例子里的Hangfire.MvcApplication改写的
: https://github.com/HangfireIO/Hangfire.Samples
: 为什么是这样的结果呢?为什么页面好象被什么锁住?要一直等到前面工作都处理完才
: 能再次被打开呢?或者大家有什么别的好办法可以达到同样的要求吗?谢谢!

s**********s
发帖数: 16
8
谢谢你的建议,还有楼上好几个实用的建议,可惜我水平太差,大家说的比如node.js
还在学习阶段,短期内不太可能搞通,在有限期限里只能先就着我熟悉的.NET来尽量完
成要求

poll

【在 l*****g 的大作中提到】
: 这个要求很简单啊,为啥要用别人的framework? 自己写个多线程的broker 不就行了吗
: ?如果用java 的话,收到请求,包装成一个runnable 提交给executor。如果需要运算
: 完马上call back,可以用一个future, 否则的话可以把结果存在数据库里,隔一会poll
: 一下就行了。当然还有些housekeeping 的工作需要做,比如万一算到一半crash怎么恢
: 复,但是都很简单。
: 我用开源软件的原则就是一定要用的广泛的,质量有保障,有问题也容易找到答案。小
: 众的开源软件真不如自己写。

s**********s
发帖数: 16
9
谢谢你的建议,还有楼上好几个实用的建议,可惜我水平太差,大家说的比如node.js
还在学习阶段,短期内不太可能搞通,在有限期限里只能先就着我熟悉的.NET来尽量完
成要求

poll

【在 l*****g 的大作中提到】
: 这个要求很简单啊,为啥要用别人的framework? 自己写个多线程的broker 不就行了吗
: ?如果用java 的话,收到请求,包装成一个runnable 提交给executor。如果需要运算
: 完马上call back,可以用一个future, 否则的话可以把结果存在数据库里,隔一会poll
: 一下就行了。当然还有些housekeeping 的工作需要做,比如万一算到一半crash怎么恢
: 复,但是都很简单。
: 我用开源软件的原则就是一定要用的广泛的,质量有保障,有问题也容易找到答案。小
: 众的开源软件真不如自己写。

1 (共1页)
进入Programming版参与讨论
相关主题
有人在Java/J2EE项目中用过多线程/concurrent吗?要开始学PHP了,一头雾水啊
C++并发和Java并发有多大区别?哎。又有公司从.NET转Node了
Spark RDD从Java转到C#,值么? (转载)
java8的stream就是个半成品looking for .NET/SQL developer position
core java里有跟C++ std::async类似的东西吗?对J2EE的几个迷惑
python下怎么解决GIL?HTML5 for .NET Developers
以前是java 程序员,要面试.net 程序员前台要吞掉后台了吧
看看大牛们为什么都远离.net我来说说go的目标对手吧
相关话题的讨论汇总
话题: 工作话题: 用户话题: net话题: celery话题: 提交