Full Mattermost server source with integrated Community Enterprise features. Includes vendor directory for offline/air-gapped builds. Structure: - enterprise-impl/: Enterprise feature implementations - enterprise-community/: Init files that register implementations - enterprise/: Bridge imports (community_imports.go) - vendor/: All dependencies for offline builds Build (online): go build ./cmd/mattermost Build (offline/air-gapped): go build -mod=vendor ./cmd/mattermost 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
25 lines
734 B
Go
25 lines
734 B
Go
package tasks
|
|
|
|
import (
|
|
"github.com/splitio/go-split-commons/v7/synchronizer/worker/impressionscount"
|
|
"github.com/splitio/go-toolkit/v5/asynctask"
|
|
"github.com/splitio/go-toolkit/v5/logging"
|
|
)
|
|
|
|
// NewRecordImpressionsCountTask creates a new impressionsCount recording task
|
|
func NewRecordImpressionsCountTask(
|
|
recorder impressionscount.ImpressionsCountRecorder,
|
|
logger logging.LoggerInterface,
|
|
period int,
|
|
) *asynctask.AsyncTask {
|
|
record := func(logger logging.LoggerInterface) error {
|
|
return recorder.SynchronizeImpressionsCount()
|
|
}
|
|
|
|
onStop := func(logger logging.LoggerInterface) {
|
|
recorder.SynchronizeImpressionsCount()
|
|
}
|
|
|
|
return asynctask.NewAsyncTask("SubmitImpressionsCount", record, period, nil, onStop, logger)
|
|
}
|