mytc-datacleanup
Scheduled console job that calls the TCApp public WebAPI service to remove expired datasets, cleaning up MyTC app data.
Health score
0 to 100 across seven weighted factors; nothing is hidden. Green is 75 and above, amber 50 to 74, red below 50. How scoring works.
Facts
| Languages | csharp |
| Frameworks | TC.MaintainanceTools.SimpleJobs 4.2.1, SimpleInjector 4.10, WCF client |
| Runtimes | .NET Framework 4.7.2 |
| Tests / CI | none / CI in place |
| Last commit | 2021-01-05 |
| Owner | Owner unknown (mapping to be curated) |
| Domain | Agent tools and community (system generated; curate in repo-owners.json to override) |
| Product area | myTC |
| Hosted | On-prem Deployed to our own machines
|
| Releases | 1 release pipeline(s): \mytc\mytc-datacleanup |
| Integration | wcf |
| Source | Open in Azure DevOps |
Dependencies in context
Entanglement
loosely attached Bound into the core by 1 mechanism(s).
- Speaks WCF (client)
Detaches when its WCF surface gains a modern interface or its WCF calls move to one.
Depends on / used by
Migration playbooks
Generated from this repo's assessment data: what is feasible, what blocks it, and the steps in order. Ratings: green means actionable now, amber means sequence other work first, red means blocked, grey means not applicable.
ZDD adoption
Not applicableNot a deployed service (libraries, database definitions, desktop apps) or a retirement candidate not worth the investment. Retirement or consolidation candidate; do not invest in ZDD adoption.
SQL Server exit
Not applicableNo SQL Server dependency is recorded for this repo. Nothing to migrate.
Containerisation
Retire insteadThis repo is a retirement or consolidation candidate; containerising it would be investment in something we intend to switch off.
Recommended actions
Review mytc-datacleanup for retirement
Dormant (last commit 2021-01-05) yet still release-linked, and nothing depends on it. Confirm remaining use, then retire and disarm its pipeline.
Impact: Shrinks the estate before the expensive work begins
proposedAssessment notes
mytc-datacleanup
Purpose
Single-purpose maintenance job (TCAppDataCleanupJob, job name TCAppDataCleanup) built on the internal SimpleJobs framework. Its Execute method makes one call, RemovedExpiredDatasets(), against the TCApp public WebAPI service (WebAPIService.svc), purging expired MyTC app datasets. Errors are reported to the webapi-exceptions service.
Tech stack
One old-style C# console project (TCAppDataCleanup.Task) targeting .NET Framework 4.7.2 with packages.config. Uses SimpleInjector for DI and the TC.MaintainanceTools.SimpleJobs 4.2.1 framework with app.config-based configuration. The downstream service is called via a WCF basicHttpBinding client generated from TC.Public.WebAPI.ServiceContracts.
Deployment
Included with 1 release: build pipeline mytc-datacleanup and release pipeline \mytc\mytc-datacleanup. A legacy-style build.yml runs MSBuild/VSTest on a self-hosted agent and pulls the shared deployment-scripts repo; environment-specific App.*.config transforms exist for localhost, training and production.
Dependencies
Internal: the TCApp public WebAPI (public-api, via TC.Public.WebAPI.ServiceContracts) and the exception-reporting service (webapi-exceptions, endpoint configured in App.config). No third-party services.
Data stores
None directly; data deletion happens inside the downstream WebAPI service. (System.Data.SqlClient is referenced transitively but no connection strings exist in this repo.)
Integration points
Outbound WCF/SOAP over basicHttpBinding to TCApp.WebAPIService/WebAPIService.svc, plus HTTP posts to the webapi-exceptions endpoint.
Code health
No tests, boilerplate template README, and no commits since 2021-01-05. CI exists but uses an older single-file pipeline style with self-hosted agent demands.
Modernisation risks
.NET Framework 4.7.2 with packages.config and a WCF client, all dormant for five years. The job is trivially small, so the pragmatic path is rewriting it as a modern .NET job (or an API-side scheduled task) rather than upgrading in place; risk of leaving it is that it silently depends on legacy WCF endpoints and Windows agents.