class AbstractDelayQueueMachineFactory {

    @Autowired
    private Cache cache;

    /**
     * 插入任务id
     *
     * @param jobId       任务id(队列内唯一)
     * @param triggerTime 执行时间 时间戳（毫秒）
     * @return 是否插入成功
     */
    public boolean addJob(String jobId, Long triggerTime) {<FILL_FUNCTION_BODY>}


    /**
     * 要实现延时队列的名字
     * @return 延时队列的名字
     */
    public abstract String setDelayQueueName();

}


        //redis 中排序时间
        long delaySeconds = triggerTime / 1000;
        //增加延时任务 参数依次为：队列名称、执行时间、任务id
        boolean result = cache.zAdd(setDelayQueueName(), delaySeconds, jobId);
        log.info("增加延时任务, 缓存key {}, 执行时间 {},任务id {}", setDelayQueueName(), DateUtil.toString(triggerTime), jobId);
        return result;

    
<no_super_class>