场景:将文件列表上传到服务器。
有两台服务器,一台文件服务器和一台服务器。一个应用程序网络服务器。
应用程序服务器提供的令牌超时:5分钟
当文件上传到文件服务器时,需要每隔5分钟同时向应用程序服务器发出另一个请求,因此令牌不会过期。
目前我正在使用AsyncTask实现文件上传。为了创建另一个令牌请求,我的方法应该是什么?
我应该运行一个每隔5分钟向应用服务器发送一个请求的服务吗?
当令牌请求继续运行时,我还需要处理呼叫中断方案(暂停状态)。
欢迎任何提示/建议。
答案 0 :(得分:0)
创建第二个AsyncTask,用于检索非常五分钟。服务与否,这是您的选择。
通常情况下,如果您的应用上传过程需要很长时间才能完成,那么通过服务完成此操作总是一个好主意。
答案 1 :(得分:0)
最好的方法(imo)将是:
现在,当上传开始并且您需要令牌时,请为当前时间安排闹钟(因此立即执行)并且闹钟应该启动Boardcastreceiver。
然后,在广播接收器onReceive
方法中,您应该查看该服务的最新情况。如果它仍在运行(仍在上传文件),您应该重新安排一个将在5分钟内触发的警报。
当闹钟被触发时 - 在广播接收器获得另一个令牌之前,你应该确保它仍然需要。
AsyncTask不是一个好主意,因为当您的活动被销毁时,我几乎可以肯定它死亡。并且您不希望让用户等待这么多时间,直到文件被上传,是吗?
答案 2 :(得分:0)
只需检查令牌的年龄即可开始上传。在发送之前,在与文件上传相同的线程中检索令牌,以确保令牌有效。