public void Expire(string jobid, TimeSpan expireIn)
        {
            if (string.IsNullOrEmpty(jobid))
            {
                throw new ArgumentNullException(nameof(jobid));
            }

            _transaction.ExpireSet(jobid.GetSetKey(), expireIn);

            var tagTransaction = _serviceStorage.GetTransaction(_transaction);

            if (tagTransaction == null)
            {
                return;
            }

            var tags = _tagsStorage.GetTags(jobid);

            foreach (var tag in tags)
            {
                var key = tag.GetSetKey();
                tagTransaction.ExpireSetValue(key, jobid, expireIn);

                if (_tagsStorage.Connection.GetSetCount(key) == 0)
                {
                    tagTransaction.ExpireSetValue("tags", key, expireIn);
                }
            }
        }
        public void Expire(string jobid, TimeSpan expireIn)
        {
            if (string.IsNullOrEmpty(jobid))
            {
                throw new ArgumentNullException(nameof(jobid));
            }

            _transaction.ExpireSet(jobid.GetSetKey(), expireIn);

            var tagTransaction = TagsOptions.Options.Storage?.GetTransaction(_transaction);

            if (tagTransaction == null)
            {
                return;
            }

            var tags = _tagsStorage.GetTags(jobid);

            foreach (var tag in tags)
            {
                tagTransaction.ExpireSetValue(tag.GetSetKey(), jobid, expireIn);
            }
        }