如何限制ScheduledExecutorService(How to restrict ScheduledExecutorService)
我有以下代码,每20分钟后调用一个任务并且工作正常。 现在,我希望它只能在0900到1800之间工作
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); scheduler.scheduleWithFixedDelay(new CSDelightAlertTask(), 0, 20, TimeUnit.MINUTES);
I have following code which call a task after every 20 min and its working fine. Now above this i want that it only work between 0900 to 1800
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); scheduler.scheduleWithFixedDelay(new CSDelightAlertTask(), 0, 20, TimeUnit.MINUTES);
原文:https://stackoverflow.com/questions/9435295
更新时间:2023-05-05 13:05
最满意答案
你真的应该规范你的数据,将标签存储在一个单独的表中,这样你就不必像这样做超复杂的逻辑。
同时,你的问题是布尔组。 并优先于OR,所以你的查询应该是
SELECT company.domain, company.company_name, CONCAT_WS( ',', company.business_sector, company.tags ) AS 'tags', GROUP_CONCAT( employee.employee_id SEPARATOR ',' ) AS 'employee_ids', COUNT(employee.employee_id) AS 'employees' FROM company INNER JOIN employee ON company.domain = employee.domain WHERE (company.tags REGEXP '^Retail| Retail |Retail$' OR company.business_sector LIKE '%Retail%') AND company.tags NOT REGEXP '^Apparel| Apparel |Apparel$' AND company.business_sector NOT LIKE '%Apparel%' AND company.domain NOT IN ( '@hotmail.com', '@gmail.com', '@aol.com' ) GROUP BY company.domain
密切关注圆括号的位置。
I found something that works perfect for now, I'm using a
MATCH AGAINST
full-text search method:SELECT company.domain, company.company_name, CONCAT_WS( ',', company.business_sector, company.tags ) AS 'tags', GROUP_CONCAT( employee.employee_id SEPARATOR ',' ) AS 'employee_ids', COUNT(employee.employee_id) AS 'employees', COUNT(ct_connections.id) AS 'already_connected' FROM company INNER JOIN employee ON company.domain = employee.domain LEFT JOIN ct_connections ON employee.email = ct_connections.email AND ct_connections.client_id = 1 WHERE ( MATCH (company.tags) AGAINST ('Retail') OR company.business_sector LIKE '%Retail%' ) AND ( NOT MATCH (company.tags) AGAINST ('Apparel') AND company.business_sector NOT LIKE '%Apparel%' AND NOT MATCH (company.tags) AGAINST ('Footwear') AND company.business_sector NOT LIKE '%Footwear%' ) AND company.domain NOT IN ( '@hotmail.com', '@gmail.com', '@aol.com' ) GROUP BY company.domain
相关问答
更多-
一些想法: 如果您正在执行并发异步请求并正在使用异步NSURLConnection ,那么您需要为此下载操作定义自己的类,以确保每个连接都跟踪其自己的属性。 这样,所有的东西都可以被封装在这个类中,在那里产生的下载对象可以跟踪下载的内容,解析的内容等等。如果你没有使用异步的NSURLConnection (例如你只是使用dataWithContentsOfURL ),它更容易,尽管你失去了NSURLConnection提供的一些进度更新和/或流式机会。 为了获得最佳性能,您应该执行并发请求。 话虽如此,你不 ...
-
看起来当您获取所选行索引时,在获取数据之前不会将其转换为模型索引。 而不是这个: table.getSelectedRow() 用这个: table.convertRowIndexToModel(table.getSelectedRow()); Looks like when you are getting the selected row index you are not converting it to the model index before you grab the data. Inste ...
-
混淆与别名(Messing around with Aliasing)[2022-04-09]
当a是一个列表时, a * 2创建一个新的列表实例。 如果你两次调用a * 2 ,你创建了两个新的列表实例 - 这就是为什么b is a * 2产生False 。 你对b is a[2] * 2得到True的原因b is a[2] * 2是缓存小整数的CPython的优化。 由于整数在Python中是不可变的,所以如果你得到一个新的实例或缓存的,实际上并不重要;对于小整数,如果你再次使用同一个整数,Python会返回一个缓存版本。 也试试 >>> a = [1, 2, 300, 4] >>> b = a[2 ... -
由于Encoding属性返回UTF-16编码,因此您的编写器会将其写出来。 而不是使用StringWriter (在内存中是UTF-16),您可以初始化一个XmlTextWriter实例,以使用带有MemoryStream UTF-8作为后备存储。 编辑:解决此问题的另一种方法是从StringWriter继承并重写Encoding属性以返回您喜欢的编码(例如UTF8在您的情况下)。 这个想法来自Robert McLaws写的博客文章 。 public class UTF8StringWriter: Stri ...
-
我不明白ti.f_ticketitem_share_qty如何适应事物所以我刚刚添加了一些聚合,以便该组按预期工作。 另请注意,您提供的数据不包括2个客户在同一订单上订购相同内容的情况,因此我添加了数据,以便分组显示相关内容。 declare @Ticket table (i_ticket_id int) insert into @Ticket values(3) declare @TicketItem table (i_ticket_item_id int, i_ticket_id int, i_m ...
-
不知道这是否是您要查找的内容,但如果您更改XmlParser以在构造函数中使用U_StateArray ,则可以使语法接近原始语法。 //Changed constructor in XmlParser XmlParser (U_StateArray states) : m_states{states} {} //Used like this XmlParser<2> test {{ XmlState(XmlState::U_StateFunc(), XmlState::U_State ...
-
默认情况下, JFrame永远不会对AlwaysOnTop或toFront正确做出反应,不是主要顶级容器的主要功能(没有图标化和取消消除,但随后在屏幕上闪烁) 你必须使用JDialog来完成这项工作, 为父母和模态 设置 (如果需要的话) JFrame by default never react to AlwaysOnTop or toFront correctly, isn't main functionality for primary Top-Level Container (without ico ...
-
没有什么特别的你想要建立的路线。 如果没有描述你的路线/派送究竟如何突破,很难确定你可能遇到的任何深奥的路由行为(并相信我,有一些)。 在详细说明之前,我会强烈建议您始终使用反向路由来构建您的URL(例如, $html->url(array('controller'=>'homes','action'=>'index'));而不是$html->url('/homes/index') 。这是一个很小的性能打击,最终可以让你免于一些头痛的问题。 让我们来看看您的示例路线,然后尝试解释如何在视图中构建匹配的网址, ...
-
你构建三元组的方式是不正确的。 由于您的方法试图确保不重复任何操作,因此当==为真时它应该返回true。 三元本身旨在返回一个值,而不是真正在其结果中执行类似(return false)的表达式。 这是有效的 ,但实际上不存在是非常规的。 三元应该看起来像 return year.length == string.length ? true : false 这当然可以简化,因为==表达式已经返回一个布尔值。 return year.length == string.length 接下来,你对year[i ...
-
在斯卡拉与期货混淆(Messing with Futures in Scala)[2022-08-07]
首先,你应该在foreach循环中链接所有调用: val futures = sensorPositionParameters.deviceMacAddress.map (deviceMacAddress=> for( sensorHubs <- SensorHubRepository.sensorHubsFromDeviceMacAddress(deviceMacAddress); processedSensorHubs <- processSensorHubs(sensorHub ...