Я вижу, что вы сталкиваетесь с некоторыми проблемами при использовании файла для сложной связи между процессами - файлы обычно могут быть записаны только одним процессом за раз, так что произойдет, если рабочий процесс попытается удалить задачу одновременно свеб-процесс пытается добавить задачу?
Лучшим подходом будет сохранение задач в базе данных, доступной для обоих процессов - база данных может быть записана несколькими процессами, и ее легко выбратьвсе задачи с запланированной датой в прошлом.
Используя базу данных, вы не можете использовать FileSystemWatcher, что, как я подозреваю, является одной из основных причин, по которой вы хотите использовать файл.Если вам действительно нужно, чтобы задание выполнялось мгновенно, вы можете использовать различные виды сообщений, но для большинства целей вы можете просто проверить таблицу очередей по таймеру.